OTel - Log signal for routed requests to unknown service id
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 92
- Forks
- 81
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 46
Description
When APIML could not route a request due to unknown service id or there is no instance available, produce a log signal with attributes:
- time of event (timestamp)
- apiml url path (url.path)
- apiml url scheme (url.scheme)
- apiml http method (http.request.method)
- apiml response code (http.response.status_code)
- apiml error type (error.type)
- apiml error message (error.message)
- user id (user.id)
- service id (service.id)
Note: check the feature for attributes meaning.
Note: Requires implementing a WebFilter because if the route does not match, GlobalFilter is not executed
Acceptance criteria:
- When a request is made to a valid gateway URL but an unknown Service ID (or a service that is down):
- The log is generated.
- http.response.status_code records 404 or 503.
- service.id records the attempted service name (if parsable) or "unknown".
- error.type:
- Service not onboarded
- Service instance not available
- Acceptance tests
- Documentation updated
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing feature that defines the log attributes, then trace the gateway routing path and the WebFilter needed when no route matches. Use the acceptance-test area to cover unknown or unavailable services and verify the status, service, and error fields. Done includes the requested log signal, acceptance tests, and updated documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, documentation, observability, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100