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

Expand Result to Include Signal Types #409

Merged
merged 7 commits into from
Dec 11, 2024
Merged

Conversation

rubvs
Copy link
Contributor

@rubvs rubvs commented Dec 6, 2024

Related to solving https://github.com/elastic/apm-managed-service/issues/606 for incoming APM events (not needed for OTEL).

Context

We need to encode the incoming signal type into the Result datastructure, which we can then use within ingest service and index service to extend the necessary metric attributes.

Fundamentally, Result is an abstraction that encodes information after we have processed a set of events, called a batch. It operates on the level of a batch not an event.

Therefore, we don't have information on the event level. We need to update Result to encode signal types. There are 3 ways of doing this:

  1. Update the Accepted, and related, fields to a map datastructure
  2. Create a Signal struct, or something similar, to containerize data
  3. Manually add the different fields

Solution

Updating the current fields (1) will introduce breaking changes to both APM Server and MIS, since Result operates on the protocol level. Creating a new struct (2) is redundant, but I"m open to suggestions. Therefore, manually adding fields (3) is the simplest change.

@rubvs rubvs requested a review from a team as a code owner December 6, 2024 23:07
@elastic-observability-automation elastic-observability-automation bot added the safe-to-test Changes are safe to run in the CI label Dec 6, 2024
input/elasticapm/processor.go Show resolved Hide resolved
input/elasticapm/result.go Outdated Show resolved Hide resolved
input/elasticapm/processor.go Show resolved Hide resolved
input/elasticapm/result.go Outdated Show resolved Hide resolved
1pkg
1pkg previously approved these changes Dec 10, 2024
marclop
marclop previously approved these changes Dec 11, 2024
input/elasticapm/result.go Outdated Show resolved Hide resolved
Copy link
Contributor

@marclop marclop left a comment

Choose a reason for hiding this comment

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

Thanks!

@rubvs rubvs merged commit 209af03 into elastic:main Dec 11, 2024
5 checks passed
@rubvs rubvs deleted the add-signal-types branch December 11, 2024 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
safe-to-test Changes are safe to run in the CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants