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

feat(generic-metrics): Add support for gauges in dataset and processors #4912

Merged
merged 44 commits into from
Nov 1, 2023

Conversation

ayirr7
Copy link
Member

@ayirr7 ayirr7 commented Oct 23, 2023

This PR:

Storage + Entity Changes

  • Adds both the readable and writeable storages for Gauges
  • Adds the entity (for querying)
  • DOES NOT currently aim to support subscriptions (this will be in subsequent PRs)

Processor Changes

  • Adds support within the generic metrics processor for gauge schema

Local testing

  • Verified that gauges flow from ingest-performance-metrics Kafka topic, all the way to the Gauges aggregate table

@ayirr7 ayirr7 changed the base branch from master to add-gauges-ingestion October 23, 2023 05:05
@ayirr7 ayirr7 changed the base branch from add-gauges-ingestion to master October 23, 2023 05:05
@ayirr7 ayirr7 changed the title Add gauges dataset processor feat(generic-metrics): Add support for gauges in dataset and processors Oct 23, 2023
ayirr7 and others added 14 commits October 23, 2023 17:11
This reverts commit c7db591.

Co-authored-by: lynnagara <1779792+lynnagara@users.noreply.github.com>
…ion (#4915)

The main motivations for this are:
1. The amount of delay depends on the synchronization timestamp used, and this is defined at the storage level in code. For example if "orig_message_ts" is used, a longer delay will be applied than if "received_p99" is used, since received will be set earlier in the pipeline.
2. The same CLI args get applied in all Sentry deployments, and this makes it easier to keep them in sync
3. Rolling out different values per storage via CLI will probably break some of our templates and require too much rework.

There are no functional changes here since we have 60 configured everywhere right now.
* add test for spans profile_id and fix bug where test was dependent on local timezone
@ayirr7 ayirr7 marked this pull request as ready for review October 25, 2023 21:52
@ayirr7 ayirr7 requested a review from a team as a code owner October 25, 2023 21:52
@getsentry getsentry deleted a comment from github-actions bot Oct 25, 2023
Copy link
Member

@nikhars nikhars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM

Comment on lines 94 to 95
sum = values["sum"]
count = values["count"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: You can move this directly to lines 101-102

Comment on lines +43 to +46
pytest.param(
{"type": "d", "metric_id": 2, "value": 20},
False,
id="distribution",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason you added distribution to the gauge metrics processor test? I would imagine we would never want to do this in production.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I think I mainly added it just to check that the gauges processor does not process a message with any other type other than g.

I can remove it if that seems redundant.

Copy link
Member

@evanh evanh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM too.

@ayirr7 ayirr7 merged commit 62f2192 into master Nov 1, 2023
35 checks passed
@ayirr7 ayirr7 deleted the add-gauges-dataset-processor branch November 1, 2023 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants