apollographql / apollographql/apollo-tooling
Datadog Integration - Lack of granularity around metrics being emitted to Datadog
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 460
- PR merge metrics
- No merged PRs in 30d
Description
**Intended outcome:**
* `apollo.engine.operations.count` should emit which upstream service it is trying to call (e.g. Account service, Config service, etc)
* `apollo.engine.operations.error_count`) emit the upstream service and the error code filter. This way, we can achieve a more useful monitor as right now, by default it logs every error (including 404 / `Error.NotFound`).
As an example, I've attached our existing gRPC monitor which has all of these fields (existing and requested)

**Actual outcome:**

It basically only has:
1. variant (prod, staging)
2. operation
3. service (the graphql server name)
Contributor guide
Research direction
Start by locating where the apollo.engine.operations.count and apollo.engine.operations.error_count metrics are emitted, then compare their current fields with the requested upstream service and error-code dimensions. Done means the metrics expose those fields so monitors can distinguish upstream services and filter error codes such as 404/Error.NotFound.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100