Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package wire
|
|
|
|
// ProtobufCarrier is a DelegatingCarrier that uses protocol buffers as the
|
|
// the underlying datastructure. The reason for implementing DelagatingCarrier
|
|
// is to allow for end users to serialize the underlying protocol buffers using
|
|
// jsonpb or any other serialization forms they want.
|
|
type ProtobufCarrier TracerState
|
|
|
|
// SetState set's the tracer state.
|
|
func (p *ProtobufCarrier) SetState(traceID, spanID uint64, sampled bool) {
|
|
p.TraceId = traceID
|
|
p.SpanId = spanID
|
|
p.Sampled = sampled
|
|
}
|
|
|
|
// State returns the tracer state.
|
|
func (p *ProtobufCarrier) State() (traceID, spanID uint64, sampled bool) {
|
|
traceID = p.TraceId
|
|
spanID = p.SpanId
|
|
sampled = p.Sampled
|
|
return traceID, spanID, sampled
|
|
}
|
|
|
|
// SetBaggageItem sets a baggage item.
|
|
func (p *ProtobufCarrier) SetBaggageItem(key, value string) {
|
|
if p.BaggageItems == nil {
|
|
p.BaggageItems = map[string]string{key: value}
|
|
return
|
|
}
|
|
|
|
p.BaggageItems[key] = value
|
|
}
|
|
|
|
// GetBaggage iterates over each baggage item and executes the callback with
|
|
// the key:value pair.
|
|
func (p *ProtobufCarrier) GetBaggage(f func(k, v string)) {
|
|
for k, v := range p.BaggageItems {
|
|
f(k, v)
|
|
}
|
|
}
|