Add TimeSeries based Service Map Processor#6389
Conversation
Implements time-series based APM service map generation from OpenTelemetry traces using three-window sliding architecture with off-heap storage for scalability. Generates service relationship events and performance metrics.
| testImplementation project(':data-prepper-test:test-common') | ||
| } | ||
|
|
||
| test { |
| useJUnitPlatform() | ||
| } | ||
|
|
||
| jacocoTestReport { |
There was a problem hiding this comment.
I don't think you need this either.
| @@ -0,0 +1,34 @@ | |||
| /* | |||
There was a problem hiding this comment.
Please use the updated license headers:
| @JsonProperty(value = WINDOW_DURATION, defaultValue = "" + DEFAULT_WINDOW_DURATION) | ||
| @JsonPropertyDescription("Represents the fixed time window, in seconds, " + | ||
| "during which APM service map relationships are evaluated.") | ||
| private int windowDuration = DEFAULT_WINDOW_DURATION; |
There was a problem hiding this comment.
This should be defined as a Duration. You can set a min and max using @DurationMin and @DurationMax.
| @JsonProperty(value = DB_PATH, defaultValue = DEFAULT_DB_PATH) | ||
| @JsonPropertyDescription("Represents folder path for creating database files storing transient data off heap memory" + | ||
| "when processing APM service-map data.") | ||
| private String dbPath = DEFAULT_DB_PATH; |
There was a problem hiding this comment.
I wonder if this is the right way to go. Why would somebody need to configure this path? I think ideally, this is part of the data-prepper directory structure and is automatically defined.
| @JsonClassDescription("The <code>otel_apm_service_map</code> processor uses OpenTelemetry data to create APM service map " + | ||
| "relationships for visualization, generating ServiceDetails and ServiceRemoteDetails events.") | ||
| public class OtelApmServiceMapProcessorConfig { | ||
| private static final String WINDOW_DURATION = "window_duration"; |
There was a problem hiding this comment.
I don't think there is any value to using these constants. Just put the literal value in the @JsonProperty. Some older implementations did this to support migration from legacy concepts.
|
This was completed in #6479 and this PR is obsolete. |
Implements time-series based APM service map generation from OpenTelemetry traces using three-window sliding architecture with off-heap storage for scalability. Generates service relationship events and performance metrics.
Description
[Describe what this change achieves]
Issues Resolved
Resolves #[Issue number to be closed when this PR is merged]
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.