Skip to content

feat(observability): add Dash0 as partner observability integration#1539

Open
juliafmorgado wants to merge 7 commits into
awslabs:mainfrom
juliafmorgado:main
Open

feat(observability): add Dash0 as partner observability integration#1539
juliafmorgado wants to merge 7 commits into
awslabs:mainfrom
juliafmorgado:main

Conversation

@juliafmorgado

Copy link
Copy Markdown

Add Dash0 as a third-party observability option in two places

Issue number: #1515

Concise description of the PR

Adds Dash0 as a supported partner observability platform, because it is OpenTelemetry-native and follows the same OTLP/HTTP integration pattern already used by existing partner integrations.

User experience

Before: Users integrating AgentCore Runtime with Strands Agents had no Dash0 observability example to follow.

After: Users can follow either a Jupyter notebook tutorial (01-tutorials/06-AgentCore-observability/04-Agentcore-runtime-partner-observability/Dash0/) or a standalone Python example (03-integrations/observability/dash0/) to send traces from AgentCore Runtime + Strands Agents to Dash0 via OTLP/HTTP with Bearer token auth. Partner observability READMEs are updated to list Dash0 alongside other supported platforms.

Checklist

If your change doesn't seem to apply, please leave them unchecked.

  • I have reviewed the contributing guidelines
  • Add your name to CONTRIBUTORS.md
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Are you uploading a dataset?
  • Have you documented Introduction, Architecture Diagram, Prerequisites, Usage, Sample Prompts, and Clean Up steps in your example README?
  • I agree to resolve any issues created for this example in the future.
  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

juliafmorgado and others added 3 commits May 19, 2026 21:39
Add Dash0 as a third-party observability option in two places:

- 01-tutorials/06-AgentCore-observability/04-Agentcore-runtime-partner-observability/Dash0/
  Jupyter notebook demonstrating AgentCore Runtime + Strands Agents + Dash0
  using OTLP/HTTP export

- 03-integrations/observability/dash0/
  Standalone Python example using uv with a Strands travel agent

Dash0 is an OpenTelemetry-native observability platform. The integration
uses OTLP/HTTP with Bearer token authentication, following the same pattern
as the existing OTLP-based partner integrations.

Also updates READMEs in 04-Agentcore-runtime-partner-observability/,
06-AgentCore-observability/, and 03-integrations/ to list Dash0 alongside
the other supported platforms.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions github-actions Bot added 01-tutorials 01-tutorials 06-AgentCore-observability 01-tutorials/06-AgentCore-observability 03-integrations 03-integrations labels May 20, 2026
@juliafmorgado

Copy link
Copy Markdown
Author

/review ready

New users have a 'default' dataset created automatically on signup; using a custom dataset name means telemetry is invisible until the dataset is manually created.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot removed the 06-AgentCore-observability 01-tutorials/06-AgentCore-observability label May 21, 2026
@juliafmorgado

Copy link
Copy Markdown
Author

This PR is ready for review.

@rajeshkumarravi

Copy link
Copy Markdown
Collaborator

Hi Julia,
Thank you for the code submission. Samples repository was recently refactored to remove dependency on Python notebooks and AgentCore Starter toolkit. The new 3P integrations are located under https://github.com/awslabs/agentcore-samples/tree/main/03-integrations/observability. Can you please review the updates and update your sample to be consistent with newer AgentCore CLI based implementation?

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added 06-AgentCore-observability 01-tutorials/06-AgentCore-observability 06-workshops labels Jun 1, 2026
- Replace main.py + dash0.py with utils/travel_agent.py (inline OTel setup)
- Add deploy.py, invoke.py, cleanup.py for AgentCore Runtime lifecycle
- Add .env.example and requirements.txt (drop bedrock-agentcore-starter-toolkit)
- Upgrade agent to travel use case with web_search tool
- Export traces, metrics, and logs to Dash0 via OTLP HTTP (Bearer auth)
@juliafmorgado

Copy link
Copy Markdown
Author

Hi @rajeshkumarravi, thanks for the feedback!

I've updated the sample to match the new AgentCore CLI-based pattern:

  • Replaced main.py + dash0.py with deploy.py, invoke.py, and cleanup.py
  • Moved the agent to utils/travel_agent.py with inline OTel setup
  • Switched from pyproject.toml to requirements.txt and dropped bedrock-agentcore-starter-toolkit
  • Upgraded the agent to a travel use case with web search (consistent with other integrations)
  • Kept Dash0's full telemetry stack: traces, metrics, and logs via OTLP HTTP

Let me know if anything else needs adjusting!

@juliafmorgado

Copy link
Copy Markdown
Author

Hi @rajeshkumarravi and @evandrofranco just checking in on this PR. Is there anything else you need from me?

Signed-off-by: Julia Furst Morgado <52685951+juliafmorgado@users.noreply.github.com>

@rajeshkumarravi rajeshkumarravi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for your patience. Workshop related content needs to be a separate pull request. Please remove them from this PR. Note: workshop content is legacy and may be getting deprecated.

For the main sample the parent folder is incorrect. Can you please update. Your fork may be out-of-sync with parent.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This needs to be deleted.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Update the parent folder to 03-integrations/3p-observability from 03-integrations/observability. Syncing your fork to the latest from the parent repo can help avoid this.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This needs to be deleted. Alternatively, did you mean for this to be part of the workshop? If so, it may have to be a separate pull request. Note: The workshop may be getting deprecated.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The workshop needs to be a separate pull request. Note: The workshop may be getting deprecated.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The workshop needs to be a separate pull request. Note: The workshop may be getting deprecated.

@github-actions

Copy link
Copy Markdown

Latest scan for commit: d9abfe1 | Updated: 2026-07-15 19:28:36 UTC

Security Scan Results

Scan Metadata

  • Project: ASH
  • Scan executed: 2026-07-15T19:28:13+00:00
  • ASH version: 3.0.0

Summary

Scanner Results

The table below shows findings by scanner, with status based on severity thresholds and dependencies:

Column Explanations:

Severity Levels (S/C/H/M/L/I):

  • Suppressed (S): Security findings that have been explicitly suppressed/ignored and don't affect the scanner's pass/fail status
  • Critical (C): The most severe security vulnerabilities requiring immediate remediation (e.g., SQL injection, remote code execution)
  • High (H): Serious security vulnerabilities that should be addressed promptly (e.g., authentication bypasses, privilege escalation)
  • Medium (M): Moderate security risks that should be addressed in normal development cycles (e.g., weak encryption, input validation issues)
  • Low (L): Minor security concerns with limited impact (e.g., information disclosure, weak recommendations)
  • Info (I): Informational findings for awareness with minimal security risk (e.g., code quality suggestions, best practice recommendations)

Other Columns:

  • Time: Duration taken by each scanner to complete its analysis
  • Action: Total number of actionable findings at or above the configured severity threshold that require attention

Scanner Results:

  • PASSED: Scanner found no security issues at or above the configured severity threshold - code is clean for this scanner
  • FAILED: Scanner found security vulnerabilities at or above the threshold that require attention and remediation
  • MISSING: Scanner could not run because required dependencies/tools are not installed or available
  • SKIPPED: Scanner was intentionally disabled or excluded from this scan
  • ERROR: Scanner encountered an execution error and could not complete successfully

Severity Thresholds (Thresh Column):

  • CRITICAL: Only Critical severity findings cause scanner to fail
  • HIGH: High and Critical severity findings cause scanner to fail
  • MEDIUM (MED): Medium, High, and Critical severity findings cause scanner to fail
  • LOW: Low, Medium, High, and Critical severity findings cause scanner to fail
  • ALL: Any finding of any severity level causes scanner to fail

Threshold Source: Values in parentheses indicate where the threshold is configured:

  • (g) = global: Set in the global_settings section of ASH configuration
  • (c) = config: Set in the individual scanner configuration section
  • (s) = scanner: Default threshold built into the scanner itself

Statistics calculation:

  • All statistics are calculated from the final aggregated SARIF report
  • Suppressed findings are counted separately and do not contribute to actionable findings
  • Scanner status is determined by comparing actionable findings to the threshold
Scanner S C H M L I Time Action Result Thresh
bandit 0 0 0 0 7 0 758ms 0 PASSED MED (g)
cdk-nag 0 0 0 0 0 0 7.2s 0 PASSED MED (g)
cfn-nag 0 0 0 0 0 0 9ms 0 PASSED MED (g)
checkov 0 0 0 0 0 0 5.8s 0 PASSED MED (g)
detect-secrets 0 0 0 0 0 0 713ms 0 PASSED MED (g)
grype 0 0 0 0 0 0 54.2s 0 PASSED MED (g)
npm-audit 0 0 0 0 0 0 193ms 0 PASSED MED (g)
opengrep 0 0 0 0 0 0 <1ms 0 SKIPPED MED (g)
semgrep 0 0 0 0 0 0 <1ms 0 MISSING MED (g)
syft 0 0 0 0 0 0 2.8s 0 PASSED MED (g)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

01-tutorials 01-tutorials 03-integrations 03-integrations 06-AgentCore-observability 01-tutorials/06-AgentCore-observability 06-workshops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants