Skip to content

Conversation

@hmstepanek
Copy link
Contributor

Overview

Prototype of Core Tracing

  • Add two new configuration settings:
    • distributed_tracing.drop_inprocess_spans.enabled - defaulted to False (Only reports entry and exit spans.)
    • distributed_tracing.unique_spans.enabled - defaulted to False (Only reports unique exit spans and entry spans.)
    • distributed_tracing.minimize_attributes.enabled - defaulted to False (Drops all agent attributes that are not entity synthesis attributes from spans)
      Note exit spans are defined as spans that contain entity synthesis agent attributes.
  • Report additional metrics:
    • Time to process dropping spans and attributes. Note: attributes are dropped after attr processing intentionally to make time reporting easier.
    • Approximate amount of bytes or "cost" of core tracing/dropping in-process spans.
  • Double adaptive sampling rate from default of 10 to 20 when Core Tracing is enabled.

Linking ErrorTraces, slow sql etc to distributed traces is not supported in the prototype.

@mergify mergify bot added the tests-failing Tests failing in CI. label Aug 19, 2025
@github-actions
Copy link

github-actions bot commented Aug 19, 2025

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 7 0 0 0.98s
✅ MARKDOWN markdownlint 7 0 0 0 1.4s
❌ PYTHON ruff 946 6 1 0 1.15s
✅ PYTHON ruff-format 946 11 0 0 0.32s
✅ YAML prettier 15 0 0 0 1.52s
✅ YAML v8r 15 0 0 4.71s
✅ YAML yamllint 15 0 0 0.62s

Detailed Issues

❌ PYTHON / ruff - 1 error
::error title=Ruff (G004),file=newrelic/common/streaming_utils.py,line=117,col=27,endLine=117,endColumn=170::newrelic/common/streaming_utils.py:117:27: G004 Logging statement uses f-string
::error title=Ruff (B026),file=newrelic/core/external_node.py,line=183,col=113,endLine=183,endColumn=118::newrelic/core/external_node.py:183:113: B026 Star-arg unpacking after a keyword argument is strongly discouraged
::error title=Ruff (B026),file=newrelic/core/function_node.py,line=121,col=113,endLine=121,endColumn=118::newrelic/core/function_node.py:121:113: B026 Star-arg unpacking after a keyword argument is strongly discouraged
::error title=Ruff (B026),file=newrelic/core/loop_node.py,line=86,col=113,endLine=86,endColumn=118::newrelic/core/loop_node.py:86:113: B026 Star-arg unpacking after a keyword argument is strongly discouraged
::error title=Ruff (B026),file=newrelic/core/node_mixin.py,line=202,col=113,endLine=202,endColumn=118::newrelic/core/node_mixin.py:202:113: B026 Star-arg unpacking after a keyword argument is strongly discouraged
::error title=Ruff (B026),file=newrelic/core/root_node.py,line=49,col=113,endLine=49,endColumn=118::newrelic/core/root_node.py:49:113: B026 Star-arg unpacking after a keyword argument is strongly discouraged
::error title=Ruff (G004),file=newrelic/core/stats_engine.py,line=456,col=23,endLine=456,endColumn=124::newrelic/core/stats_engine.py:456:23: G004 Logging statement uses f-string

See detailed reports in MegaLinter artifacts

MegaLinter is graciously provided by OX Security

@mergify mergify bot added the merge-conflicts Merge conflicts detected. label Sep 2, 2025
* Do not drop LLM spans.
  * Note if running with llm data users should not enable unique spans.
* Reparent unqiue spans onto the entry span and sum their durations.
@hmstepanek hmstepanek force-pushed the feature-core-tracing branch from d70b147 to 3e8b874 Compare October 9, 2025 17:00
@mergify mergify bot removed the merge-conflicts Merge conflicts detected. label Oct 9, 2025
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 55.37634% with 83 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.27%. Comparing base (27f357c) to head (3e8b874).

Files with missing lines Patch % Lines
newrelic/core/node_mixin.py 34.61% 27 Missing and 7 partials ⚠️
newrelic/common/streaming_utils.py 46.29% 28 Missing and 1 partial ⚠️
newrelic/core/application.py 45.45% 5 Missing and 1 partial ⚠️
newrelic/core/stats_engine.py 76.00% 6 Missing ⚠️
newrelic/api/transaction.py 66.66% 1 Missing and 1 partial ⚠️
newrelic/core/data_collector.py 50.00% 1 Missing and 1 partial ⚠️
newrelic/core/loop_node.py 33.33% 2 Missing ⚠️
newrelic/core/transaction_node.py 66.66% 2 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (27f357c) and HEAD (3e8b874). Click for more details.

HEAD has 5 uploads less than BASE
Flag BASE (27f357c) HEAD (3e8b874)
6 1
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1457       +/-   ##
===========================================
- Coverage   81.72%   71.27%   -10.46%     
===========================================
  Files         207      207               
  Lines       23909    24053      +144     
  Branches     3789     3819       +30     
===========================================
- Hits        19540    17143     -2397     
- Misses       3098     5364     +2266     
- Partials     1271     1546      +275     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hmstepanek
Copy link
Contributor Author

This was a dev branch for the proto-type.

@hmstepanek hmstepanek closed this Dec 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests-failing Tests failing in CI.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants