-
Notifications
You must be signed in to change notification settings - Fork 300
Collect process tags for tracing #8698
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
base: master
Are you sure you want to change the base?
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 64 metrics, 7 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1058847
Total [baseline] (8.695 s) : 0, 8694576
Agent [candidate] (1.062 s) : 0, 1061912
Total [candidate] (8.711 s) : 0, 8711358
section iast
Agent [baseline] (1.183 s) : 0, 1183103
Total [baseline] (9.261 s) : 0, 9260529
Agent [candidate] (1.192 s) : 0, 1192144
Total [candidate] (9.236 s) : 0, 9235844
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.209 s) : 0, 1209240
Total [baseline] (9.269 s) : 0, 9269112
Agent [candidate] (1.186 s) : 0, 1185674
Total [candidate] (9.232 s) : 0, 9232008
section iast_TELEMETRY_OFF
Agent [baseline] (1.179 s) : 0, 1178957
Total [baseline] (9.256 s) : 0, 9255561
Agent [candidate] (1.187 s) : 0, 1186697
Total [candidate] (9.273 s) : 0, 9272662
gantt
title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.438 ms) : 0, 722438
BytebuddyAgent [candidate] (726.184 ms) : 0, 726184
GlobalTracer [baseline] (239.553 ms) : 0, 239553
GlobalTracer [candidate] (240.947 ms) : 0, 240947
AppSec [baseline] (55.336 ms) : 0, 55336
AppSec [candidate] (55.981 ms) : 0, 55981
Debugger [baseline] (4.372 ms) : 0, 4372
Debugger [candidate] (4.388 ms) : 0, 4388
Remote Config [baseline] (3.6 ms) : 0, 3600
Remote Config [candidate] (1.494 ms) : 0, 1494
Telemetry [baseline] (10.142 ms) : 0, 10142
Telemetry [candidate] (9.226 ms) : 0, 9226
section iast
BytebuddyAgent [baseline] (837.671 ms) : 0, 837671
BytebuddyAgent [candidate] (845.715 ms) : 0, 845715
GlobalTracer [baseline] (229.675 ms) : 0, 229675
GlobalTracer [candidate] (230.657 ms) : 0, 230657
AppSec [baseline] (52.894 ms) : 0, 52894
AppSec [candidate] (53.4 ms) : 0, 53400
Debugger [baseline] (4.221 ms) : 0, 4221
Debugger [candidate] (4.274 ms) : 0, 4274
Remote Config [baseline] (607.674 µs) : 0, 608
Remote Config [candidate] (620.319 µs) : 0, 620
Telemetry [baseline] (8.686 ms) : 0, 8686
Telemetry [candidate] (8.812 ms) : 0, 8812
IAST [baseline] (25.241 ms) : 0, 25241
IAST [candidate] (25.121 ms) : 0, 25121
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (858.847 ms) : 0, 858847
BytebuddyAgent [candidate] (839.983 ms) : 0, 839983
GlobalTracer [baseline] (232.875 ms) : 0, 232875
GlobalTracer [candidate] (230.025 ms) : 0, 230025
AppSec [baseline] (56.549 ms) : 0, 56549
AppSec [candidate] (55.063 ms) : 0, 55063
Debugger [baseline] (4.287 ms) : 0, 4287
Debugger [candidate] (4.267 ms) : 0, 4267
Remote Config [baseline] (623.636 µs) : 0, 624
Remote Config [candidate] (601.499 µs) : 0, 601
Telemetry [baseline] (8.818 ms) : 0, 8818
Telemetry [candidate] (8.707 ms) : 0, 8707
IAST [baseline] (23.443 ms) : 0, 23443
IAST [candidate] (23.606 ms) : 0, 23606
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (834.899 ms) : 0, 834899
BytebuddyAgent [candidate] (839.369 ms) : 0, 839369
GlobalTracer [baseline] (229.675 ms) : 0, 229675
GlobalTracer [candidate] (231.925 ms) : 0, 231925
AppSec [baseline] (55.453 ms) : 0, 55453
AppSec [candidate] (56.093 ms) : 0, 56093
Debugger [baseline] (4.141 ms) : 0, 4141
Debugger [candidate] (4.161 ms) : 0, 4161
Remote Config [baseline] (617.788 µs) : 0, 618
Remote Config [candidate] (614.608 µs) : 0, 615
Telemetry [baseline] (8.659 ms) : 0, 8659
Telemetry [candidate] (8.671 ms) : 0, 8671
IAST [baseline] (22.224 ms) : 0, 22224
IAST [candidate] (22.425 ms) : 0, 22425
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064726
Total [baseline] (10.513 s) : 0, 10512968
Agent [candidate] (1.065 s) : 0, 1065493
Total [candidate] (10.478 s) : 0, 10478360
section appsec
Agent [baseline] (1.205 s) : 0, 1204988
Total [baseline] (10.879 s) : 0, 10878720
Agent [candidate] (1.2 s) : 0, 1200137
Total [candidate] (10.734 s) : 0, 10733879
section iast
Agent [baseline] (1.186 s) : 0, 1186403
Total [baseline] (11.083 s) : 0, 11082896
Agent [candidate] (1.194 s) : 0, 1193706
Total [candidate] (11.023 s) : 0, 11022594
section profiling
Agent [baseline] (1.296 s) : 0, 1295970
Total [baseline] (10.926 s) : 0, 10925879
Agent [candidate] (1.293 s) : 0, 1293060
Total [candidate] (10.985 s) : 0, 10984684
gantt
title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (726.554 ms) : 0, 726554
BytebuddyAgent [candidate] (726.559 ms) : 0, 726559
GlobalTracer [baseline] (241.185 ms) : 0, 241185
GlobalTracer [candidate] (240.782 ms) : 0, 240782
AppSec [baseline] (54.692 ms) : 0, 54692
AppSec [candidate] (55.571 ms) : 0, 55571
Debugger [baseline] (4.404 ms) : 0, 4404
Debugger [candidate] (4.396 ms) : 0, 4396
Remote Config [baseline] (695.375 µs) : 0, 695
Remote Config [candidate] (698.177 µs) : 0, 698
Telemetry [baseline] (13.63 ms) : 0, 13630
Telemetry [candidate] (13.915 ms) : 0, 13915
section appsec
BytebuddyAgent [baseline] (744.556 ms) : 0, 744556
BytebuddyAgent [candidate] (741.4 ms) : 0, 741400
GlobalTracer [baseline] (237.198 ms) : 0, 237198
GlobalTracer [candidate] (235.954 ms) : 0, 235954
AppSec [baseline] (175.832 ms) : 0, 175832
AppSec [candidate] (175.217 ms) : 0, 175217
Debugger [baseline] (4.223 ms) : 0, 4223
Debugger [candidate] (4.206 ms) : 0, 4206
Remote Config [baseline] (639.642 µs) : 0, 640
Remote Config [candidate] (627.501 µs) : 0, 628
Telemetry [baseline] (8.17 ms) : 0, 8170
Telemetry [candidate] (8.193 ms) : 0, 8193
IAST [baseline] (21.726 ms) : 0, 21726
IAST [candidate] (22.072 ms) : 0, 22072
section iast
BytebuddyAgent [baseline] (840.246 ms) : 0, 840246
BytebuddyAgent [candidate] (846.974 ms) : 0, 846974
GlobalTracer [baseline] (230.451 ms) : 0, 230451
GlobalTracer [candidate] (230.88 ms) : 0, 230880
AppSec [baseline] (55.882 ms) : 0, 55882
AppSec [candidate] (56.005 ms) : 0, 56005
Debugger [baseline] (4.242 ms) : 0, 4242
Debugger [candidate] (4.272 ms) : 0, 4272
Remote Config [baseline] (604.098 µs) : 0, 604
Remote Config [candidate] (607.067 µs) : 0, 607
Telemetry [baseline] (8.593 ms) : 0, 8593
Telemetry [candidate] (8.679 ms) : 0, 8679
IAST [baseline] (23.02 ms) : 0, 23020
IAST [candidate] (22.791 ms) : 0, 22791
section profiling
BytebuddyAgent [baseline] (715.119 ms) : 0, 715119
BytebuddyAgent [candidate] (713.128 ms) : 0, 713128
GlobalTracer [baseline] (360.859 ms) : 0, 360859
GlobalTracer [candidate] (360.466 ms) : 0, 360466
AppSec [baseline] (54.3 ms) : 0, 54300
AppSec [candidate] (53.226 ms) : 0, 53226
Debugger [baseline] (4.436 ms) : 0, 4436
Debugger [candidate] (4.397 ms) : 0, 4397
Remote Config [baseline] (667.987 µs) : 0, 668
Remote Config [candidate] (650.783 µs) : 0, 651
Telemetry [baseline] (9.0 ms) : 0, 9000
Telemetry [candidate] (8.951 ms) : 0, 8951
ProfilingAgent [baseline] (101.086 ms) : 0, 101086
ProfilingAgent [candidate] (101.922 ms) : 0, 101922
Profiling [baseline] (101.112 ms) : 0, 101112
Profiling [candidate] (101.949 ms) : 0, 101949
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section baseline
no_agent (1.356 ms) : 1337, 1375
. : milestone, 1356,
appsec (1.737 ms) : 1714, 1760
. : milestone, 1737,
appsec_no_iast (1.747 ms) : 1723, 1772
. : milestone, 1747,
code_origins (1.691 ms) : 1663, 1718
. : milestone, 1691,
iast (1.516 ms) : 1492, 1540
. : milestone, 1516,
profiling (1.54 ms) : 1515, 1565
. : milestone, 1540,
tracing (1.517 ms) : 1494, 1541
. : milestone, 1517,
section candidate
no_agent (1.351 ms) : 1332, 1371
. : milestone, 1351,
appsec (1.722 ms) : 1698, 1746
. : milestone, 1722,
appsec_no_iast (1.71 ms) : 1686, 1735
. : milestone, 1710,
code_origins (1.67 ms) : 1643, 1698
. : milestone, 1670,
iast (1.513 ms) : 1489, 1538
. : milestone, 1513,
profiling (1.493 ms) : 1469, 1516
. : milestone, 1493,
tracing (1.487 ms) : 1462, 1512
. : milestone, 1487,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section baseline
no_agent (376.38 µs) : 357, 396
. : milestone, 376,
iast (505.619 µs) : 484, 527
. : milestone, 506,
iast_FULL (727.567 µs) : 706, 749
. : milestone, 728,
iast_GLOBAL (555.684 µs) : 533, 578
. : milestone, 556,
iast_HARDCODED_SECRET_DISABLED (516.835 µs) : 494, 539
. : milestone, 517,
iast_INACTIVE (461.16 µs) : 440, 483
. : milestone, 461,
iast_TELEMETRY_OFF (492.749 µs) : 471, 514
. : milestone, 493,
tracing (457.404 µs) : 436, 479
. : milestone, 457,
section candidate
no_agent (380.955 µs) : 361, 401
. : milestone, 381,
iast (507.089 µs) : 485, 529
. : milestone, 507,
iast_FULL (728.535 µs) : 706, 751
. : milestone, 729,
iast_GLOBAL (567.876 µs) : 545, 591
. : milestone, 568,
iast_HARDCODED_SECRET_DISABLED (508.201 µs) : 487, 530
. : milestone, 508,
iast_INACTIVE (460.546 µs) : 439, 482
. : milestone, 461,
iast_TELEMETRY_OFF (499.817 µs) : 478, 522
. : milestone, 500,
tracing (459.225 µs) : 438, 481
. : milestone, 459,
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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section baseline
no_agent (1.486 ms) : 1474, 1497
. : milestone, 1486,
appsec (2.366 ms) : 2322, 2410
. : milestone, 2366,
iast (2.134 ms) : 2079, 2190
. : milestone, 2134,
iast_GLOBAL (2.179 ms) : 2124, 2235
. : milestone, 2179,
profiling (2.011 ms) : 1965, 2057
. : milestone, 2011,
tracing (1.955 ms) : 1913, 1997
. : milestone, 1955,
section candidate
no_agent (1.479 ms) : 1468, 1491
. : milestone, 1479,
appsec (2.351 ms) : 2307, 2395
. : milestone, 2351,
iast (2.134 ms) : 2079, 2190
. : milestone, 2134,
iast_GLOBAL (2.18 ms) : 2124, 2236
. : milestone, 2180,
profiling (2.002 ms) : 1957, 2047
. : milestone, 2002,
tracing (1.969 ms) : 1926, 2011
. : milestone, 1969,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~f9f99f55b2, baseline=1.49.0-SNAPSHOT~b00c24e26a
dateFormat X
axisFormat %s
section baseline
no_agent (14.822 s) : 14822000, 14822000
. : milestone, 14822000,
appsec (15.152 s) : 15152000, 15152000
. : milestone, 15152000,
iast (18.561 s) : 18561000, 18561000
. : milestone, 18561000,
iast_GLOBAL (18.275 s) : 18275000, 18275000
. : milestone, 18275000,
profiling (15.622 s) : 15622000, 15622000
. : milestone, 15622000,
tracing (14.854 s) : 14854000, 14854000
. : milestone, 14854000,
section candidate
no_agent (15.582 s) : 15582000, 15582000
. : milestone, 15582000,
appsec (15.005 s) : 15005000, 15005000
. : milestone, 15005000,
iast (18.658 s) : 18658000, 18658000
. : milestone, 18658000,
iast_GLOBAL (18.158 s) : 18158000, 18158000
. : milestone, 18158000,
profiling (15.035 s) : 15035000, 15035000
. : milestone, 15035000,
tracing (14.98 s) : 14980000, 14980000
. : milestone, 14980000,
|
5016eeb
to
61bbb70
Compare
0adb5b9
to
fcbe977
Compare
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.
lgtm!
What Does This Do
This pull request introduces the collection of process tags. They are tags belonging to a process that are collected and sent along all the payloads. This will be one enabler for service renaming.
The goal is to collect process related tags and, for tracing, put them under
_dd.tags.process
in the formk1:v1,k2,v3,...,kN:vN
The tags are collected by
ProcessTags
which loads in a lazy way the tags to collect and caches its serialized representations.If tags are added (it can happen when a process tag is collected by one instrumentation) the serialized form lazily recalculated when it's requested.
By default the collection is disabled. It's behind the opt-in feature flag
DD_EXPERIMENTAL_COLLECT_PROCESS_TAGS_ENABLED
The process tags are only added to the first span of each chunk since the agent just extract them from the first one. It's an optimization to avoid having the same values on all the spans.
This PR adds the process tags only to:
entrypoint.name
-> The name of the main class or the jar name (with .jar stripped)entrypoint.workingdir
-> the current working dir (last path segment)entrypoint.basedir
-> the dir where the jar is placed (last path segment)springboot.application
-> the spring boot application name as defined in the spring context (only for spring boot apps)springboot.profile
-> the first spring boot active profilejboss.home
-> the jboss home (last path segment) if the observed process is a jbossserver.name
-> the server nameMotivation
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]