Description
In what area(s)?
/area runtime
What version of Dapr?
1.15+
Expected Behavior
Today when users have an API routes that contain additional api
or v1.0
characters that is not the Dapr API route delimiter, path matching does not work unless the entire route is specified. Ie. the first api
/v1.0
character is being matched not the last, when it should be the last.
For example if you are using service invocation to invoke an app order-app
with method: /api/v1.0/order/route/{ID}
, the only way to path match this is to add the full route including dapr invoke keywords. Otherwise only the metric on the invokee app will be matched. For example, to ensure matching works correctly the following needs to be added for both invoker and invokee apps:
pathMatching:
- /v1.0/invoke/order-app/method/api/v1.0/order/route/{ID} #invoker app metric
- /api/v1.0/order/route/{ID} #invokee app metric
Actual Behavior
Only one path should have to be added since its the back half of the metric, as follows.
pathMatching:
- /api/v1.0/order/route/{ID} #invokee app metric
Steps to Reproduce the Problem
Add an api route with the api/v1.0/
keyword in it and perform service invocation with two apps, with metrics enabled.
Release Note
RELEASE NOTE: FIX HTTP Patch matching metrics bug.