Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter OpenTelemetry events #451

Closed
agross opened this issue Jun 30, 2023 · 5 comments
Closed

Filter OpenTelemetry events #451

agross opened this issue Jun 30, 2023 · 5 comments
Labels
enhancement New feature or request
Milestone

Comments

@agross
Copy link

agross commented Jun 30, 2023

This is a screenshot of the Jaeger UI after starting the app with a previously empty Jaeger database.

image

After a couple of minutes the outlier to the left contains around 150 spans related to background operations. I could get rid of them by filtering spans with the opentelemetry-collector:

processors:
  filter/wolverine-internal:
    traces:
      span:
        - 'IsMatch(attributes["messaging.message_type"], "^Wolverine\\.RDBMS\\..*")'
        - 'IsMatch(attributes["messaging.message_type"], "^Wolverine\\.Runtime\\.Agents\\..*")'
        - 'IsMatch(attributes["db.statement"], "wolverine_messages")' # These are Npgsql statements issued by the background job.

Perhaps it's not necessary to log those spans in the first place.

@jeremydmiller jeremydmiller added the enhancement New feature or request label Jul 1, 2023
@jeremydmiller
Copy link
Member

@agross I'm going to have to push this one off until maybe next week. Or at least it's not going in 1.1.3 today.

@agross
Copy link
Author

agross commented Jul 5, 2023

No problem. I'm blocked for upgrades because of #442. #439 is marked fixed, but it's not for me.

@jeremydmiller jeremydmiller added this to the 1.2.0 milestone Jul 14, 2023
@jeremydmiller
Copy link
Member

And I'm pushing this off yet again since there is a workaround.

@jeremydmiller jeremydmiller removed this from the 1.2.0 milestone Jul 16, 2023
@jeremydmiller jeremydmiller added this to the 1.7.0 milestone Sep 14, 2023
@jeremydmiller
Copy link
Member

Notes

  • This PR has a solid start to filtering: Added configurable activity tracing #541
  • Might be more mechanically suitable to do the filtering at the endpoint level rather than by message type
  • Latch at endpoint for sending/receiving. Can latch at message type for sending too.
  • Could latch activity tracing in HandlerPipeline. That handles execution
  • Latch in Receiver too
  • Use different IExecutor or IExecutor decorators for message type filtering on execution. Remove the tracing from InvokeInlineAsync? -- Nah, just use a boolean flag
  • Consider latching the audit logging on internal messages too

@jeremydmiller
Copy link
Member

jeremydmiller commented Sep 14, 2023

Tasks

  • Configure telemetry enabled by endpoint
  • Enable/disable telemetry on all listener types
  • Enable/disable telemetry on all sending agent types
  • Disable telemetry on database control queues
  • Disable telemetry on all agent queues and internal actions
  • Filter execution tracing by endpoint & message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants