Add Stellar WriteReport Beholder telemetry#672
Conversation
Emit WriteReport lifecycle, tx hash retrieval, duplicate tx, invalid transmission state, and InvokeOnReport duration events with metrics, processor wiring, and coverage tests aligned with Aptos/EVM patterns.
6be63c3 to
8a2f162
Compare
Resolve GetLatestLedger conflict by keeping hash-based consensus from main (#673).
|
Submitting first part of review, the tx retrieval metric looks like its copied from Aptos, the diffrence is that Aptos tx lookup is complicated and it makes way more sense to keep track of whats happening, here most of the attributes for this metric would be dead weight with high cardinality while not providing much useful insight into the WriteReport lifecycle |
…4 attrs, rename retrieval duration metric.
There was a problem hiding this comment.
Pull request overview
Adds Stellar WriteReport Beholder telemetry (proto definitions, message builders, processor wiring, and metrics) and instruments the Stellar action implementation to emit lifecycle and tx-hash-retrieval phase events, aligning error-handling semantics with the EVM capability.
Changes:
- Introduces
write_report.proto(+ generated.pb.go) withWriteReport*telemetry event messages. - Extends Stellar monitoring (
Processor,Metrics, and message builders) to log/emit and record newWriteReportevents and histograms. - Instruments Stellar
WriteReport+ tx-hash retrieval to emit initiated/success/error telemetry, phase timing, and invalid-state signals.
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| chain_capabilities/stellar/monitoring/write_report.proto | Defines new Stellar WriteReport telemetry event schemas. |
| chain_capabilities/stellar/monitoring/write_report.pb.go | Generated Go bindings for the new proto messages. |
| chain_capabilities/stellar/monitoring/processor.go | Routes WriteReport* telemetry messages to logging and metrics handlers. |
| chain_capabilities/stellar/monitoring/monitoring_test.go | Adds processor coverage for new WriteReport telemetry messages. |
| chain_capabilities/stellar/monitoring/metrics.go | Adds basic-cap metrics for WriteReport events + histograms for durations. |
| chain_capabilities/stellar/monitoring/metrics_test.go | Covers new metrics handlers for WriteReport events/histograms. |
| chain_capabilities/stellar/monitoring/messages.go | Adds WriteReport message builders and attribute extraction for telemetry. |
| chain_capabilities/stellar/monitoring/messages_test.go | Covers new message builders and attribute mappings. |
| chain_capabilities/stellar/monitoring/generate.go | Adds go:generate for the new write_report.proto. |
| chain_capabilities/stellar/main.go | Uses exported default forwarder lookback value from actions. |
| chain_capabilities/stellar/go.mod | Promotes go.opentelemetry.io/otel/metric to a direct dependency. |
| chain_capabilities/stellar/actions/write_report.go | Emits WriteReport lifecycle/phase telemetry and adds invalid-state instrumentation. |
| chain_capabilities/stellar/actions/write_report_test.go | Adds tests asserting new telemetry emissions from WriteReport paths. |
| chain_capabilities/stellar/actions/tx_hash_retriever.go | Adds phase timing telemetry for tx-hash retrieval lookups and outcomes. |
| chain_capabilities/stellar/actions/tx_hash_retriever_test.go | Adds tests for phase telemetry emission and extends stub client behavior. |
| chain_capabilities/stellar/actions/forwarder_client.go | Exports DefaultForwarderLookbackLedgers constant. |
| chain_capabilities/stellar/actions/cre_forwarder_codec.go | Relocates reportProcessedTopicPrefix constant. |
| chain_capabilities/stellar/actions/actions.go | Removes local aliases for common error helpers; keeps direct usage. |
| chain_capabilities/stellar/actions/actions_test.go | Adds test for invalid arg conversion path. |
Files not reviewed (1)
- chain_capabilities/stellar/monitoring/write_report.pb.go: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…nstead of once per request.
|




Summary
WriteReport,tx hash retrieval phases, andInvalidTransmissionStateeventsDepends on
feat/stellar-write-capability- PR (stacked PR merge that first)