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

[APM] Some API calls happen without transaction.type #86614

Closed
dgieselaar opened this issue Dec 21, 2020 · 12 comments
Closed

[APM] Some API calls happen without transaction.type #86614

dgieselaar opened this issue Dec 21, 2020 · 12 comments
Assignees
Labels
bug Fixes for quality problems that affect the customer experience Team:APM All issues that need APM UI Team support v7.11.0

Comments

@dgieselaar
Copy link
Member

dgieselaar commented Dec 21, 2020

When clicking on a service from the service inventory, and landing on the service overview page, the following requests do not have a transaction.type set:

Unexpected & should be fixed:

Expected:

  • /api/apm/services/opbeans-ruby/transaction_types
  • /api/apm/services/{serviceName}/dependencies

Unclear:

  • /api/apm/ui_filters/environments
  • /api/apm/services/{serviceName}/metadata/icons
  • /api/apm/services/opbeans-ruby/metadata/details
  • /api/apm/services/opbeans-ruby/annotation/search
  • /api/apm/services/opbeans-ruby/agent_name

The agent name API call doesn't really need it.

I think possibly environments should have it. @formgeist should we filter environments based on the selected transaction type?

For annotations and metadata we should make the same decision, as service.version is being used. I'm inclined to not use transaction type there, as it is not part of the API to create annotations.

@dgieselaar dgieselaar added bug Fixes for quality problems that affect the customer experience Team:APM All issues that need APM UI Team support v7.11.0 labels Dec 21, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/apm-ui (Team:apm)

@cauemarcondes
Copy link
Contributor

@formgeist Do you think we should filter by transaction type the metadata and metadata/icons APIs? these are going to be used in the service icons.

@formgeist
Copy link
Contributor

@cauemarcondes The service info shouldn't be filtered by transaction type as they should simply tell the story of the entire service. It's filtered by environment?

@cauemarcondes
Copy link
Contributor

The service info shouldn't be filtered by transaction type as they should simply tell the story of the entire service. It's filtered by environment?

Yes, it is.

@cauemarcondes
Copy link
Contributor

@formgeist and what do you think about this environment API (/api/apm/ui_filters/environments)? should it be filtered by transaction type too?

@sorenlouv
Copy link
Member

sorenlouv commented Jan 7, 2021

what do you think about this environment API (/api/apm/ui_filters/environments)? should it be filtered by transaction type too?

No, environment should not be filtered by transaction type. The hierarchy is:

  1. service.name
  2. service.environment
  3. transaction.type
  4. everything else

Example
A service is selected via inventory page: service.environment is only filtered by service.name. transaction.type is filtered by both service.name and service.environment.

@cauemarcondes
Copy link
Contributor

service.environment is only filtered by service.name

Today environment is filtered by start, end, and service name. Should we keep the start and end?

transaction.type is filtered by both service.name and service.environment

Today transaction type is filtered by start, end, and service name. I'm going to add the environment filter here too then.

@cauemarcondes
Copy link
Contributor

@sqren before I go on and start changing some code I'd like to double-check some stuff with you.

Screenshot 2021-01-07 at 11 34 54

The above image filters the transaction types by environment. The user-interaction transaction type was selected when I had another environment selected, by changing the environment, and filtering the transaction types by it, the previously selected option is no longer available. I can of course change the logic to check if the selected transaction type is no longer available and select one of the available options, but should we do it?

Screenshot 2021-01-07 at 11 35 45

Now, this image shows the current behavior, where the transaction types is not filtered by environment, in this case user-interaction is still available to the user under the transaction types filter. I think he can easily switch to another transaction type to show some data.

Like I said I just want to double-check if it is worth doing this change.

@sorenlouv
Copy link
Member

Today environment is filtered by start, end, and service name. Should we keep the start and end?

True, I left out the date range. Both environment and transaction type should be filtered by this.

@sorenlouv
Copy link
Member

I can of course change the logic to check if the selected transaction type is no longer available and select one of the available options, but should we do it?

Good point. I think there are two options:

  1. Selecting environment should reset transaction.type (either to undefined or the default type), or
  2. If the selected transaction type doesn't exist we should redirect to the default transaction type

@cauemarcondes
Copy link
Contributor

New issue created to filter the transaction types by environment #87616

@formgeist
Copy link
Contributor

@cauemarcondes Clarification from my talk with @alex-fedotyev - we want to keep the service metadata filtered by queries, but not filtered by the transaction type. So I think we can strike that from the list as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience Team:APM All issues that need APM UI Team support v7.11.0
Projects
None yet
Development

No branches or pull requests

5 participants