-
Notifications
You must be signed in to change notification settings - Fork 293
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
WIP - Prototyping context propagation API #8271
base: master
Are you sure you want to change the base?
Conversation
ExtractedSpan(AgentSpanContext spanContext) { | ||
this.spanContext = spanContext; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
017e5a4
to
ddb0406
Compare
Kafka / producer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 51 metrics, 12 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1048874
Total [baseline] (8.67 s) : 0, 8670200
Agent [candidate] (1.045 s) : 0, 1044800
Total [candidate] (8.678 s) : 0, 8678130
section iast
Agent [baseline] (1.179 s) : 0, 1178949
Total [baseline] (9.205 s) : 0, 9205009
Agent [candidate] (1.168 s) : 0, 1168290
Total [candidate] (9.24 s) : 0, 9239709
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171711
Total [baseline] (9.216 s) : 0, 9216136
Agent [candidate] (1.172 s) : 0, 1171995
Total [candidate] (9.222 s) : 0, 9221747
section iast_TELEMETRY_OFF
Agent [baseline] (1.17 s) : 0, 1170190
Total [baseline] (9.236 s) : 0, 9235905
Agent [candidate] (1.168 s) : 0, 1167768
Total [candidate] (9.242 s) : 0, 9241866
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.632 ms) : 0, 719632
BytebuddyAgent [candidate] (717.536 ms) : 0, 717536
GlobalTracer [baseline] (244.045 ms) : 0, 244045
GlobalTracer [candidate] (243.305 ms) : 0, 243305
AppSec [baseline] (54.878 ms) : 0, 54878
AppSec [candidate] (56.289 ms) : 0, 56289
Remote Config [baseline] (717.186 µs) : 0, 717
Remote Config [candidate] (734.014 µs) : 0, 734
Telemetry [baseline] (14.361 ms) : 0, 14361
Telemetry [candidate] (11.667 ms) : 0, 11667
section iast
BytebuddyAgent [baseline] (839.282 ms) : 0, 839282
BytebuddyAgent [candidate] (833.48 ms) : 0, 833480
GlobalTracer [baseline] (235.387 ms) : 0, 235387
GlobalTracer [candidate] (230.751 ms) : 0, 230751
IAST [baseline] (24.145 ms) : 0, 24145
IAST [candidate] (24.233 ms) : 0, 24233
AppSec [baseline] (55.474 ms) : 0, 55474
AppSec [candidate] (55.416 ms) : 0, 55416
Remote Config [baseline] (623.482 µs) : 0, 623
Remote Config [candidate] (610.615 µs) : 0, 611
Telemetry [baseline] (8.756 ms) : 0, 8756
Telemetry [candidate] (8.661 ms) : 0, 8661
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.655 ms) : 0, 833655
BytebuddyAgent [candidate] (834.837 ms) : 0, 834837
GlobalTracer [baseline] (233.98 ms) : 0, 233980
GlobalTracer [candidate] (232.498 ms) : 0, 232498
IAST [baseline] (27.407 ms) : 0, 27407
IAST [candidate] (25.053 ms) : 0, 25053
AppSec [baseline] (52.121 ms) : 0, 52121
AppSec [candidate] (54.894 ms) : 0, 54894
Remote Config [baseline] (611.192 µs) : 0, 611
Remote Config [candidate] (610.454 µs) : 0, 610
Telemetry [baseline] (8.699 ms) : 0, 8699
Telemetry [candidate] (8.785 ms) : 0, 8785
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.248 ms) : 0, 832248
BytebuddyAgent [candidate] (832.276 ms) : 0, 832276
GlobalTracer [baseline] (234.236 ms) : 0, 234236
GlobalTracer [candidate] (231.784 ms) : 0, 231784
IAST [baseline] (26.998 ms) : 0, 26998
IAST [candidate] (25.261 ms) : 0, 25261
AppSec [baseline] (52.117 ms) : 0, 52117
AppSec [candidate] (53.941 ms) : 0, 53941
Remote Config [baseline] (607.322 µs) : 0, 607
Remote Config [candidate] (618.186 µs) : 0, 618
Telemetry [baseline] (8.691 ms) : 0, 8691
Telemetry [candidate] (8.665 ms) : 0, 8665
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1043544
Total [baseline] (10.52 s) : 0, 10519633
Agent [candidate] (1.04 s) : 0, 1039684
Total [candidate] (10.492 s) : 0, 10491776
section appsec
Agent [baseline] (1.188 s) : 0, 1187618
Total [baseline] (10.748 s) : 0, 10747561
Agent [candidate] (1.188 s) : 0, 1187569
Total [candidate] (10.803 s) : 0, 10803228
section iast
Agent [baseline] (1.176 s) : 0, 1176100
Total [baseline] (10.991 s) : 0, 10990744
Agent [candidate] (1.171 s) : 0, 1170651
Total [candidate] (10.948 s) : 0, 10948073
section profiling
Agent [baseline] (1.263 s) : 0, 1262693
Total [baseline] (10.855 s) : 0, 10854592
Agent [candidate] (1.259 s) : 0, 1258607
Total [candidate] (10.923 s) : 0, 10923344
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.801 ms) : 0, 715801
BytebuddyAgent [candidate] (715.066 ms) : 0, 715066
GlobalTracer [baseline] (243.81 ms) : 0, 243810
GlobalTracer [candidate] (240.59 ms) : 0, 240590
AppSec [baseline] (55.046 ms) : 0, 55046
AppSec [candidate] (55.785 ms) : 0, 55785
Remote Config [baseline] (726.154 µs) : 0, 726
Remote Config [candidate] (721.569 µs) : 0, 722
Telemetry [baseline] (12.908 ms) : 0, 12908
Telemetry [candidate] (12.357 ms) : 0, 12357
section appsec
BytebuddyAgent [baseline] (735.161 ms) : 0, 735161
BytebuddyAgent [candidate] (736.102 ms) : 0, 736102
GlobalTracer [baseline] (241.099 ms) : 0, 241099
GlobalTracer [candidate] (238.984 ms) : 0, 238984
AppSec [baseline] (176.212 ms) : 0, 176212
AppSec [candidate] (176.85 ms) : 0, 176850
Remote Config [baseline] (662.663 µs) : 0, 663
Remote Config [candidate] (654.319 µs) : 0, 654
Telemetry [baseline] (8.275 ms) : 0, 8275
Telemetry [candidate] (8.691 ms) : 0, 8691
IAST [baseline] (21.911 ms) : 0, 21911
IAST [candidate] (22.018 ms) : 0, 22018
section iast
BytebuddyAgent [baseline] (835.511 ms) : 0, 835511
BytebuddyAgent [candidate] (834.77 ms) : 0, 834770
GlobalTracer [baseline] (235.798 ms) : 0, 235798
GlobalTracer [candidate] (231.856 ms) : 0, 231856
AppSec [baseline] (55.004 ms) : 0, 55004
AppSec [candidate] (52.788 ms) : 0, 52788
Remote Config [baseline] (627.696 µs) : 0, 628
Remote Config [candidate] (611.634 µs) : 0, 612
Telemetry [baseline] (8.715 ms) : 0, 8715
Telemetry [candidate] (8.706 ms) : 0, 8706
IAST [baseline] (25.107 ms) : 0, 25107
IAST [candidate] (26.681 ms) : 0, 26681
section profiling
ProfilingAgent [baseline] (96.179 ms) : 0, 96179
ProfilingAgent [candidate] (95.638 ms) : 0, 95638
BytebuddyAgent [baseline] (705.846 ms) : 0, 705846
BytebuddyAgent [candidate] (705.964 ms) : 0, 705964
GlobalTracer [baseline] (353.334 ms) : 0, 353334
GlobalTracer [candidate] (350.722 ms) : 0, 350722
AppSec [baseline] (55.549 ms) : 0, 55549
AppSec [candidate] (54.497 ms) : 0, 54497
Remote Config [baseline] (706.988 µs) : 0, 707
Remote Config [candidate] (699.284 µs) : 0, 699
Telemetry [baseline] (8.899 ms) : 0, 8899
Telemetry [candidate] (8.885 ms) : 0, 8885
Profiling [baseline] (96.204 ms) : 0, 96204
Profiling [candidate] (95.662 ms) : 0, 95662
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section baseline
no_agent (1.349 ms) : 1329, 1368
. : milestone, 1349,
appsec (1.747 ms) : 1723, 1771
. : milestone, 1747,
appsec_no_iast (1.745 ms) : 1721, 1770
. : milestone, 1745,
iast (1.516 ms) : 1492, 1539
. : milestone, 1516,
profiling (1.549 ms) : 1524, 1573
. : milestone, 1549,
tracing (1.482 ms) : 1457, 1508
. : milestone, 1482,
section candidate
no_agent (1.361 ms) : 1341, 1381
. : milestone, 1361,
appsec (1.733 ms) : 1709, 1756
. : milestone, 1733,
appsec_no_iast (1.757 ms) : 1734, 1781
. : milestone, 1757,
iast (1.506 ms) : 1482, 1531
. : milestone, 1506,
profiling (1.513 ms) : 1488, 1537
. : milestone, 1513,
tracing (1.476 ms) : 1451, 1502
. : milestone, 1476,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section baseline
no_agent (374.66 µs) : 354, 395
. : milestone, 375,
iast (497.765 µs) : 476, 519
. : milestone, 498,
iast_FULL (739.958 µs) : 718, 762
. : milestone, 740,
iast_GLOBAL (551.175 µs) : 529, 573
. : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (502.862 µs) : 481, 524
. : milestone, 503,
iast_INACTIVE (455.485 µs) : 434, 477
. : milestone, 455,
iast_TELEMETRY_OFF (493.569 µs) : 471, 516
. : milestone, 494,
tracing (449.299 µs) : 428, 470
. : milestone, 449,
section candidate
no_agent (375.192 µs) : 355, 396
. : milestone, 375,
iast (506.447 µs) : 483, 530
. : milestone, 506,
iast_FULL (739.54 µs) : 718, 761
. : milestone, 740,
iast_GLOBAL (548.665 µs) : 526, 571
. : milestone, 549,
iast_HARDCODED_SECRET_DISABLED (509.185 µs) : 486, 532
. : milestone, 509,
iast_INACTIVE (463.902 µs) : 442, 486
. : milestone, 464,
iast_TELEMETRY_OFF (493.094 µs) : 471, 515
. : milestone, 493,
tracing (447.059 µs) : 427, 467
. : milestone, 447,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section baseline
no_agent (14.862 s) : 14862000, 14862000
. : milestone, 14862000,
appsec (15.038 s) : 15038000, 15038000
. : milestone, 15038000,
iast (18.631 s) : 18631000, 18631000
. : milestone, 18631000,
iast_GLOBAL (17.61 s) : 17610000, 17610000
. : milestone, 17610000,
profiling (15.616 s) : 15616000, 15616000
. : milestone, 15616000,
tracing (14.673 s) : 14673000, 14673000
. : milestone, 14673000,
section candidate
no_agent (15.633 s) : 15633000, 15633000
. : milestone, 15633000,
appsec (15.203 s) : 15203000, 15203000
. : milestone, 15203000,
iast (19.175 s) : 19175000, 19175000
. : milestone, 19175000,
iast_GLOBAL (18.114 s) : 18114000, 18114000
. : milestone, 18114000,
profiling (14.803 s) : 14803000, 14803000
. : milestone, 14803000,
tracing (14.78 s) : 14780000, 14780000
. : milestone, 14780000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~1a1fb0a6c6, baseline=1.47.0-SNAPSHOT~b9533be551
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
. : milestone, 1474,
appsec (2.368 ms) : 2325, 2411
. : milestone, 2368,
iast (2.1 ms) : 2045, 2154
. : milestone, 2100,
iast_GLOBAL (2.151 ms) : 2096, 2206
. : milestone, 2151,
profiling (1.958 ms) : 1915, 2001
. : milestone, 1958,
tracing (1.95 ms) : 1908, 1992
. : milestone, 1950,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (2.369 ms) : 2325, 2412
. : milestone, 2369,
iast (2.101 ms) : 2047, 2156
. : milestone, 2101,
iast_GLOBAL (2.147 ms) : 2093, 2202
. : milestone, 2147,
profiling (1.988 ms) : 1943, 2032
. : milestone, 1988,
tracing (1.947 ms) : 1905, 1989
. : milestone, 1947,
|
Kafka / consumer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
7ff13cb
to
b9bb806
Compare
b9bb806
to
7d1167d
Compare
void set(C carrier, String key, String value); | ||
} | ||
|
||
<C> AgentSpanContext.Extracted extract(C carrier, ContextVisitor<C> getter); | ||
default <C> AgentSpanContext.Extracted extract(final C carrier, final ContextVisitor<C> getter) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
default <C> AgentSpanContext.Extracted extract(final C carrier, final ContextVisitor<C> getter) { | |
default <C> AgentSpanContext.Extracted extract(C carrier, final ContextVisitor<C> getter) { |
Avoid declaring as final as it may not be used (...read more)
The rule "Avoid useless final type in interface method" advises against the unnecessary use of the final
keyword in the method parameters of an interface. In Java, the final
keyword is used to denote that a variable cannot be changed once assigned. However, in the context of an interface method, this is redundant as the value of the parameter cannot be changed within the method anyway.
The importance of this rule lies in the clarity and simplicity of code. Unnecessary use of final
in this context can lead to confusion for those reading the code, as it suggests that there may be a specific reason for its use when there is not. It can also clutter the code, making it less readable.
Good coding practices to avoid this rule violation include simply not using the final
keyword in the method parameters of an interface. This does not affect the functionality of the code, but it makes it cleaner and easier to understand. For example, instead of writing void process(final Object arg);
, you can write void process(Object arg);
. This maintains the same functionality but improves the readability of the code.
return span.with(dsmContext); | ||
} | ||
|
||
private LinkedHashMap<String, String> getTags(String queueUrl) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
private LinkedHashMap<String, String> getTags(String queueUrl) { | |
private Map<String, String> getTags(String queueUrl) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
} | ||
|
||
public static DataStreamContext fromTagsWithoutCheckpoint( | ||
LinkedHashMap<String, String> sortedTags) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags) { | |
Map<String, String> sortedTags) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
return context.get(CONTEXT_KEY); | ||
} | ||
|
||
public static DataStreamContext fromTags(LinkedHashMap<String, String> sortedTags) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
public static DataStreamContext fromTags(LinkedHashMap<String, String> sortedTags) { | |
public static DataStreamContext fromTags(Map<String, String> sortedTags) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
private static final ContextKey<DataStreamContext> CONTEXT_KEY = | ||
ContextKey.named("dsm-context-key"); | ||
|
||
final LinkedHashMap<String, String> sortedTags; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
final LinkedHashMap<String, String> sortedTags; | |
final Map<String, String> sortedTags; |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
|
||
// That's basically a record for now | ||
private DataStreamContext( | ||
LinkedHashMap<String, String> sortedTags, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, | |
Map<String, String> sortedTags, |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
…tracer Introduce Java 8 bytecode bridge Remove unused eligibleForDropping method Improve Javadoc
7d1167d
to
cb598c9
Compare
public static final class Context extends NoopSpanContext { | ||
public static final Context INSTANCE = new Context(); | ||
|
||
private Context() {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public BlackHoleSpan(final DDTraceId traceId) { | ||
this.traceId = traceId; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExtractedSpan(AgentSpanContext spanContext) { | ||
this.spanContext = spanContext; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class NoopSpan extends ImmutableSpan implements AgentSpan { | ||
static final NoopSpan INSTANCE = new NoopSpan(); | ||
|
||
NoopSpan() {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cb598c9
to
3f7c076
Compare
|
||
// That's basically a record for now | ||
private DataStreamsContext( | ||
LinkedHashMap<String, String> sortedTags, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, | |
Map<String, String> sortedTags, |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
return context.get(CONTEXT_KEY); | ||
} | ||
|
||
public static DataStreamsContext fromTags(LinkedHashMap<String, String> sortedTags) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
public static DataStreamsContext fromTags(LinkedHashMap<String, String> sortedTags) { | |
public static DataStreamsContext fromTags(Map<String, String> sortedTags) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
} | ||
|
||
public static DataStreamsContext fromTagsWithoutCheckpoint( | ||
LinkedHashMap<String, String> sortedTags) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags) { | |
Map<String, String> sortedTags, long defaultTimestamp, long payloadSizeBytes) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
this.sendCheckpoint = sendCheckpoint; | ||
} | ||
|
||
public LinkedHashMap<String, String> sortedTags() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
public LinkedHashMap<String, String> sortedTags() { | |
public Map<String, String> sortedTags() { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
private static final ContextKey<DataStreamsContext> CONTEXT_KEY = | ||
ContextKey.named("dsm-context-key"); | ||
|
||
final LinkedHashMap<String, String> sortedTags; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
final LinkedHashMap<String, String> sortedTags; | |
final Map<String, String> sortedTags; |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
3f7c076
to
28914b5
Compare
|
||
@Override | ||
public void setCheckpoint( | ||
LinkedHashMap<String, String> sortedTags, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, | |
Map<String, String> sortedTags, |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
@Override | ||
public void setCheckpoint( | ||
AgentSpan span, | ||
LinkedHashMap<String, String> sortedTags, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, | |
Map<String, String> sortedTags, |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
|
||
@Override | ||
public void setCheckpoint( | ||
LinkedHashMap<String, String> sortedTags, Consumer<StatsPoint> pointConsumer) {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, Consumer<StatsPoint> pointConsumer) {} | |
Map<String, String> sortedTags, Consumer<StatsPoint> pointConsumer) {} |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
public static final NoopDataStreamsMonitoring INSTANCE = new NoopDataStreamsMonitoring(); | ||
|
||
@Override | ||
public void trackBacklog(LinkedHashMap<String, String> sortedTags, long value) {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
public void trackBacklog(LinkedHashMap<String, String> sortedTags, long value) {} | |
public void trackBacklog(Map<String, String> sortedTags, long value) {} |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
* @return the created context. | ||
*/ | ||
public static DataStreamsContext create( | ||
LinkedHashMap<String, String> sortedTags, long defaultTimestamp, long payloadSizeBytes) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ Code Quality Violation
LinkedHashMap<String, String> sortedTags, long defaultTimestamp, long payloadSizeBytes) { | |
Map<String, String> sortedTags, long defaultTimestamp, long payloadSizeBytes) { |
Avoid using a specific implementation type; use the more general Map instead (...read more)
Relying on particular implementation types, such as, HashSet
or LinkedList
can limit your adaptability to embrace alternative implementations in the future, particularly as your requirements change and your code needs to undergo changes.
It is recommended to opt for general types such as Set
or List
when declaring variables and parameters.
f5e6dc1
to
a4c1e16
Compare
Remove DSM injection method from AgentPropagation Make checkpoint use DataStreamsContext
a4c1e16
to
1a1fb0a
Compare
What Does This Do
Motivation
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]