Skip to content
This repository has been archived by the owner on Feb 15, 2022. It is now read-only.

TST: e2e with trace group propagation #480

Conversation

chenqi0805
Copy link
Contributor

Issue #, if available:

Description of changes:


This PR

(1) refactors integrationTest.gradle tasks
(2) separate pipeline configuration for raw-span and service-map e2e tests
(3) tests trace group propagation by replacing random span generation in raw-span e2e test with explicitly constructed trace-group dataset.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

* main: (112 commits)
  Bump junit in /data-prepper-plugins/otel-trace-group-prepper
  Bump aws-java-sdk-core in /data-prepper-plugins/elasticsearch
  Upgraded OpenTelemetry dependencies.
  Minor update to scaling docs.
  Bump guava in /data-prepper-plugins/otel-trace-raw-prepper
  Bump aws-java-sdk-core in /data-prepper-plugins/elasticsearch
  Limit overall cache size
  MAINT: remove unused wrapper class
  MAINT: remove wrapper class
  MAINT: variable name
  MAINT: constant variable names
  Update guava version
  FIX: integTest
  MAINT: enhance e2e
  FIX: wrong import
  Untrack MapDBTraceIdTraceGroupCache
  MAINT: use guava cache for traceId to traceGroup map
  FIX: timeunit
  RMV: unused APIs
  TODO
  ...
@chenqi0805 chenqi0805 requested review from kowshikn and wrijeff April 2, 2021 20:52
@chenqi0805 chenqi0805 requested a review from wrijeff April 6, 2021 15:23
Copy link
Contributor

@wrijeff wrijeff left a comment

Choose a reason for hiding this comment

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

👍

@@ -154,6 +164,28 @@ public static ExportTraceServiceRequest getExportTraceServiceRequest(List<Resour
.build();
}

private List<ResourceSpans> getResourceSpansBatch(final List<EndToEndTestSpan> dataList) {
Copy link
Contributor

Choose a reason for hiding this comment

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

nit - Now that the class has been renamed, would suggest something like testSpanList. Also applies to the for loop below.

Comment on lines +1 to +7
entry-pipeline:
source:
otel_trace_source:
ssl: false
sink:
- pipeline:
name: "raw-pipeline"
Copy link
Contributor

Choose a reason for hiding this comment

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

Comment for later - eventually we might consider integ tests per component/feature instead of adding more to the existing. Calling this out because at first glance this pipeline config might look "incomplete" (no peer forwarder), but that is by design to test the traceGroupPrepper.

End state would be tests for:

  1. Basic test- Single DP
  2. Peer Forwarder plugin test - Two DP with forwarding enabled
  3. TraceGroup plugin test - Two DP without forwarding
    etc.

Will be easier to isolate breaking changes based on the specific test failing. I'll create a backlog item if we think this is a good idea.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sounds good to me. Might even add one with Amazon Elasticseach Service backend.

Copy link
Contributor

Choose a reason for hiding this comment

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

Created #492

@chenqi0805 chenqi0805 merged commit e2b858c into opendistro-for-elasticsearch:main Apr 8, 2021
@chenqi0805 chenqi0805 deleted the integTST/trace-group-filtering branch April 8, 2021 19:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants