Skip to content
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

feat: support cross-linking synthetics & apm #595

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

vigneshshanmugam
Copy link
Member

@vigneshshanmugam vigneshshanmugam commented Sep 14, 2022

  • fix [Proposal] Crosslinking Synthetics with APM #265

  • Relies on the properties being injected from the Heartbeat side to make it work seamless.

  • Adds support for crosslinking the Synthetics Waterfall information with the APM data to be able to understand the performance monitoring data across Elastic observability solutions. The key fields that are added to make the transition easier are

    • synthetics.monitor.id - monitor id of the synthetics monitor
    • syntheitcs.monitor.type - type of the synthetics monitor, can be browser or http
    • synthetics.trace.id - checkgroup/exec id that denotes execution of a journey at any point
    • synthetics.monitor.location - location id where the monitor was run from
    • tracestate: es=s:1 - Sampling decision is propagated via tracestate header which is understood by APM agents
  • Adds the relevant headers only for the routes/urls that are configured via the apm.traceUrls. Sampling decision can also be propagated via apm.sampleRate. These options can be modified via CLI or Synthetics config file.

journey("test", () => {
   step("trace check", async() => {
      await page.goto("https://example.com")
   });
});

// config 
{
  "apm": { "traceUrls":  ["**/*"] } // add to all requests
}

// Headers
baggage: `synthetics.trace.id=<test>;synthetics.monitor.id=<test>;`
tracestate: `es=s:1`

@apmmachine
Copy link

💔 Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-09-14T06:01:55.758+0000

  • Duration: 5 min 2 sec

Steps errors 1

Expand to view the steps failures

Checks linting
  • Took 0 min 4 sec . View more details here
  • Description: npm run-script lint

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

src/plugins/apm.ts Outdated Show resolved Hide resolved
@syepes
Copy link

syepes commented Jan 18, 2024

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Proposal] Crosslinking Synthetics with APM
5 participants