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

FTV1 support #1514

Merged
merged 64 commits into from
Sep 8, 2022
Merged

FTV1 support #1514

merged 64 commits into from
Sep 8, 2022

Conversation

BrynCooke
Copy link
Contributor

@BrynCooke BrynCooke commented Aug 16, 2022

Adds FTV1 support.

A new open telemetry exporter has been added that will convert regular traces to Apollo traces.

A buffer of spans is collected on the server side which will retain spans until the root request span is completed.
Once a request is completed the trace will be reconstructed and sent to Apollo.

Span attributes that are only relevant to Apollo tracing are prefixed with apollo_private. and are filtered out of other APM data.

@glasser Has given some guidance on how we should improve tracing, but this'll be left to followup tickets as this PR is large and has been ongoing for a significant period.

As an aside, this PR demonstrates that spans can be used for Apollo tracing, and that we could move to a native Otel based solution in future.

@BrynCooke BrynCooke changed the title Temp FTV1 support Aug 16, 2022
@github-actions

This comment has been minimized.

DEVELOPMENT.md Outdated Show resolved Hide resolved
send_headers config now uses HeaderName
Simplify and correct population logic for variables and headers.
bryn added 12 commits September 5, 2022 17:50
Remove shared exporter for telemetry and metrics.
* field_execution_weight
* duration_ns
* sent_time_offset
* path

Pull out some strings into constants.
Not tacked is lifecycle issues which need to be revisited separately.
Copy link
Contributor

@bnjjj bnjjj left a comment

Choose a reason for hiding this comment

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

Few changes required but it looks good :) good job !

@BrynCooke BrynCooke merged commit 514bb86 into main Sep 8, 2022
@BrynCooke BrynCooke deleted the bryn/ftv1 branch September 8, 2022 14:29
@BrynCooke BrynCooke linked an issue Sep 8, 2022 that may be closed by this pull request
@glasser
Copy link
Member

glasser commented Sep 8, 2022

Very exciting to see this merged! Great work!

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.

Apollo Tracing (e.g., inline tracing support)
6 participants