Closed Bug 1930954 Opened 1 year ago Closed 6 months ago

Implement Collection and Processing Mechanism for Traces Captured by Gecko Trace

Categories

(Toolkit :: Gecko Trace, task, P2)

task

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- wontfix
firefox145 --- fixed

People

(Reporter: michael, Assigned: michael)

References

(Blocks 1 open bug)

Details

Attachments

(8 files, 3 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Gecko Trace must be instrumented to collect useful traces in a central location. Traces need to be aggregated, meaning similar signatures will be merged to reduce the volume of data.

At specified intervals, the aggregated traces should be handed over to Glean for submission to Telemetry.

On the backend, traces from individual clients must be further merged, with client identifiers removed and the data further reduced. On a scheduled basis, all aggregates should be reported to their respective meta bugs on Bugzilla.

This bug tracks the second milestone of the Error Tracing Proposal for Firefox.

Summary: Implement Collection and Procession Mechanism for Traces captured by Gecko Trace → Implement Collection and Processing Mechanism for Traces Captured by Gecko Trace
Depends on: 1950545
Depends on: 1950552
Depends on: 1950557
Blocks: 1950559
No longer depends on: 1950545
No longer depends on: 1923143
Attachment #9497072 - Attachment description: WIP: Bug 1930954 - Add a script to generate a glean metric for gecko-trace → WIP: Bug 1930954 - Part 1: Add a script to generate a glean metric for gecko-trace r=jari
Attachment #9497073 - Attachment description: WIP: Bug 1930954 - Vendor otlp exporter and opentelemetry-proto → WIP: Bug 1930954 - Part 2: Vendor otlp exporter and opentelemetry-proto r=jari
Attachment #9497075 - Attachment description: WIP: Bug 1930954 - Implement Span Processing for GeckoTrace → WIP: Bug 1930954 - Part 4: Implement Span Processing for GeckoTrace r=jari
Attachment #9497074 - Attachment description: WIP: Bug 1930954 - Add a rust script to generate protobuf definitions using protoc → WIP: Bug 1930954 - Part 3: Add a rust script to generate protobuf definitions using protoc r=jari
Severity: -- → S3
Priority: -- → P2
Attachment #9497072 - Attachment description: WIP: Bug 1930954 - Part 1: Add a script to generate a glean metric for gecko-trace r=jari → Bug 1930954 - Part 1: Set up metrics/pings for Glean telemetry integration r=jari
Attachment #9505224 - Attachment description: WIP: Bug 1930954 - Part 5: Add a new linter to lint gecko-trace.yaml files r=jari → Bug 1930954 - Part 2: Add gecko-trace linter for schema validation r=#linter-reviewers
Attachment #9497074 - Attachment description: WIP: Bug 1930954 - Part 3: Add a rust script to generate protobuf definitions using protoc r=jari → Bug 1930954 - Part 4: Integrate opentelemetry-proto with protobuf component r=markh
Attachment #9497073 - Attachment description: WIP: Bug 1930954 - Part 2: Vendor otlp exporter and opentelemetry-proto r=jari → Bug 1930954 - Part 3: Vendor opentelemetry-proto definitions r=jari

This patch vendors the OtlpRecordable and associated utilities for storing
span data within a protobuf-encodable container. This enables us to use this
recordable in subsequent patches to export traces to the parent process,
leveraging the protobuf files vendored in the previous patches.

This patch adds an off-by-default static-pref to enable the gecko-trace
tracing system at runtime.

Attachment #9497074 - Attachment description: Bug 1930954 - Part 4: Integrate opentelemetry-proto with protobuf component r=markh → Bug 1930954 - Part 4: Integrate opentelemetry-proto with protobuf component r=nika
Attachment #9497074 - Attachment description: Bug 1930954 - Part 4: Integrate opentelemetry-proto with protobuf component r=nika → Bug 1930954 - Part 4.1: Integrate opentelemetry-proto with protobuf component r=nika

This patch runs the added/updated generation scripts in the
toolkit/components/protobuf component.

It also integrates the generated files into the mozbuild system for
later use.

Attachment #9497074 - Attachment description: Bug 1930954 - Part 4.1: Integrate opentelemetry-proto with protobuf component r=nika → Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika
Attachment #9497075 - Attachment description: WIP: Bug 1930954 - Part 4: Implement Span Processing for GeckoTrace r=jari → WIP: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika
Attachment #9497075 - Attachment description: WIP: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika → Bug 1930954 - Part 7: Add telementry trace aggregation r=nika
Attachment #9506510 - Attachment is obsolete: true
Attachment #9497075 - Attachment description: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika → Bug 1930954 - Part 7: Add telementry trace aggregation r=jari
Attachment #9497075 - Attachment description: Bug 1930954 - Part 7: Add telementry trace aggregation r=jari → Bug 1930954 - Part 7: Add telementry trace aggregation r=nika,jari
Attachment #9497075 - Attachment description: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika,jari → Bug 1930954 - Part 7: Add telementry trace aggregation r=nika
Attachment #9497072 - Attachment description: Bug 1930954 - Part 1: Set up metrics/pings for Glean telemetry integration r=jari → WIP: Bug 1930954 - Part 1: Set up metrics/pings for Glean telemetry integration r=jari
Attachment #9505224 - Attachment description: Bug 1930954 - Part 2: Add gecko-trace linter for schema validation r=#linter-reviewers → WIP: Bug 1930954 - Part 2: Add gecko-trace linter for schema validation r=#linter-reviewers
Attachment #9497073 - Attachment description: Bug 1930954 - Part 3: Vendor opentelemetry-proto definitions r=jari → WIP: Bug 1930954 - Part 3: Vendor opentelemetry-proto definitions r=jari
Attachment #9497074 - Attachment description: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika → WIP: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika
Attachment #9505872 - Attachment description: Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component r=nika → WIP: Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component r=nika
Attachment #9505808 - Attachment description: Bug 1930954 - Part 5: Vendor OtlpRecordable from OTel upstream r=jari → WIP: Bug 1930954 - Part 5: Vendor OtlpRecordable from OTel upstream r=jari
Attachment #9505809 - Attachment description: Bug 1930954 - Part 6: Add pref to enable tracing system at runtime r=jari → WIP: Bug 1930954 - Part 6: Add pref to enable tracing system at runtime r=jari
Attachment #9497075 - Attachment description: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika → WIP: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika
Attachment #9497072 - Attachment description: WIP: Bug 1930954 - Part 1: Set up metrics/pings for Glean telemetry integration r=jari → Bug 1930954 - Part 1: Set up metrics/pings for Glean telemetry integration r=jari
Attachment #9505224 - Attachment description: WIP: Bug 1930954 - Part 2: Add gecko-trace linter for schema validation r=#linter-reviewers → Bug 1930954 - Part 2: Add gecko-trace linter for schema validation r=#linter-reviewers
Attachment #9497073 - Attachment description: WIP: Bug 1930954 - Part 3: Vendor opentelemetry-proto definitions r=jari → Bug 1930954 - Part 3: Vendor opentelemetry-proto definitions r=jari
Attachment #9497074 - Attachment description: WIP: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika → Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika
Attachment #9505872 - Attachment description: WIP: Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component r=nika → Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component r=nika
Attachment #9505808 - Attachment description: WIP: Bug 1930954 - Part 5: Vendor OtlpRecordable from OTel upstream r=jari → Bug 1930954 - Part 5: Vendor OtlpRecordable from OTel upstream r=jari
Attachment #9505809 - Attachment description: WIP: Bug 1930954 - Part 6: Add pref to enable tracing system at runtime r=jari → Bug 1930954 - Part 6: Add pref to enable tracing system at runtime r=jari
Attachment #9497075 - Attachment description: WIP: Bug 1930954 - Part 7: Add telementry trace aggregation r=nika → Bug 1930954 - Part 7: Add telementry trace aggregation r=nika

This patch adds support for array attribute types in gecko-trace.ymal
files. It was previously forgotten.

Attachment #9508124 - Attachment description: WIP: Bug 1930954 - Part 8: Test new features added in this stack r=jari → WIP: Bug 1930954 - Part 9: Test new features added in this stack r=jari
Attachment #9497074 - Attachment description: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika → Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=tjr,nika
Attachment #9497074 - Attachment description: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=tjr,nika → Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika
Attachment #9497074 - Attachment description: Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=nika → Bug 1930954 - Part 4.1: `moz.yaml` setup for toolkit/components/protobuf component r=tjr,nika
Attachment #9505872 - Attachment description: Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component r=nika → Bug 1930954 - Part 4.2: Integrate opentelemetry-proto with protobuf component UPGRADE_NSS_RELEASE r=nika

The top part of the patch stack is still missing.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Regressions: 1987970
No longer depends on: 1950557
Status: REOPENED → RESOLVED
Closed: 6 months ago6 months ago
Resolution: --- → FIXED
Duplicate of this bug: 1950552
Regressions: 1990188

Comment on attachment 9510704 [details]
Bug 1930954 - Part 8: Add support for array attribute types r=jari

Revision D263303 was moved to bug 1984029. Setting attachment 9510704 [details] to obsolete.

Attachment #9510704 - Attachment is obsolete: true

Comment on attachment 9508124 [details]
WIP: Bug 1930954 - Part 9: Test new features added in this stack r=jari

Revision D261726 was moved to bug 1984092. Setting attachment 9508124 [details] to obsolete.

Attachment #9508124 - Attachment is obsolete: true
Regressions: 1991378
QA Whiteboard: [qa-triage-done-c146/b145]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: