ChilliCream / ChilliCream/graphql-platform

Allow setting of OTEL status as part of Error Filtering

Open
#9,690 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🌶️ hot chocolate
Dominant language
C#
Stars
5.8k
Forks
810
Avg merge
15h 39m
Merged PRs (30d)
98

Description

Product

Hot Chocolate

Is your feature request related to a problem?

Following a use case like this, I would like to report an error in a particular resolver and not have the error propagate to the OTEL trace status.

I have attached an Aspire demo to highlight the problem and here is a screenshot highlighting the behaviour:

Image

Repro2.zip

The issue is nuanced in that the field has reported an error, but this is a non-breaking error (rather than an exception blocking the resolver). The issue with setting the OTEL status to errored is that it can be used by other tools like Sentry to classify an issue or bug. In the attached example, each time a user executes the "test" resolver, it is creating an issue in Sentry in our system.

The solution you'd like

I would like to be able to set the OTEL status or have some control of it in the IErrorFilter layer. Looking at the source code, if any error is present this gets set automatically and there is no way to override the behaviour.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the attached Repro2.zip Aspire demo and tracing the "test" resolver through the IErrorFilter layer and the source code that sets the OTEL status. Confirm how a reported non-breaking error is classified, then define completion as allowing the filter to control that status without changing the resolver error response, with coverage for the demonstrated case.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, graphql
Domain
api, backend, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.