Skip to content

Scope::set_user does not affect users reported in performance transactions #648

Closed as not planned
@antifuchs

Description

@antifuchs

Environment

I'm instrumenting an axum web app, using the default set of tower middleware, tags / user fields set using sentry::configure_scope land on error reporting events, but they are missing from Performance transactions.

Steps to Reproduce

  1. Set up the default sentry_tower layers:

         .layer(sentry_tower::NewSentryLayer::new_from_top())
         .layer(sentry_tower::SentryHttpLayer::with_transaction())
  2. In a handler (or another layer, it doesn't matter) sets user information or tags on the scope using the (docs-recommended) method, like:

      sentry::configure_scope(|scope| {
          scope.set_tag("lz_transaction", "woo weeee");
          scope.set_user(Some(User {
              id: Some(user.id.id().to_string()),
              username: Some(user.name.to_owned()),
              ..Default::default()
          }));
      });
  1. Call up a normally-succeeding handler
  2. Put panic!("oops"); in that handler to get an error event.

Expected Result

I'd like the transactions list in Performance to list Users and other tags, like sentry does in error events.

Actual Result

The error event has a user set, but the performance transaction doesn't.

The error event has the user:
image

perf monitoring list:
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions