summaryrefslogtreecommitdiff
path: root/vendor/github.com/opentracing/opentracing-go/span.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2021-02-25 20:47:21 +0100
committerValentin Rothberg <rothberg@redhat.com>2021-03-08 09:22:42 +0100
commitd0d084dd8ce37141e0a2f0e9def78ffbb613ab94 (patch)
treebd626d1310b64b2f5410a2ca8a7f5a7232634d2b /vendor/github.com/opentracing/opentracing-go/span.go
parent320df838810cbdb0f3dc0e2092f5ed04fc9b6e5d (diff)
downloadpodman-d0d084dd8ce37141e0a2f0e9def78ffbb613ab94.tar.gz
podman-d0d084dd8ce37141e0a2f0e9def78ffbb613ab94.tar.bz2
podman-d0d084dd8ce37141e0a2f0e9def78ffbb613ab94.zip
turn hidden --trace into a NOP
The --trace has helped in early stages analyze Podman code. However, it's contributing to dependency and binary bloat. The standard go tooling can also help in profiling, so let's turn `--trace` into a NOP. [NO TESTS NEEDED] Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'vendor/github.com/opentracing/opentracing-go/span.go')
-rw-r--r--vendor/github.com/opentracing/opentracing-go/span.go189
1 files changed, 0 insertions, 189 deletions
diff --git a/vendor/github.com/opentracing/opentracing-go/span.go b/vendor/github.com/opentracing/opentracing-go/span.go
deleted file mode 100644
index 0d3fb5341..000000000
--- a/vendor/github.com/opentracing/opentracing-go/span.go
+++ /dev/null
@@ -1,189 +0,0 @@
-package opentracing
-
-import (
- "time"
-
- "github.com/opentracing/opentracing-go/log"
-)
-
-// SpanContext represents Span state that must propagate to descendant Spans and across process
-// boundaries (e.g., a <trace_id, span_id, sampled> tuple).
-type SpanContext interface {
- // ForeachBaggageItem grants access to all baggage items stored in the
- // SpanContext.
- // The handler function will be called for each baggage key/value pair.
- // The ordering of items is not guaranteed.
- //
- // The bool return value indicates if the handler wants to continue iterating
- // through the rest of the baggage items; for example if the handler is trying to
- // find some baggage item by pattern matching the name, it can return false
- // as soon as the item is found to stop further iterations.
- ForeachBaggageItem(handler func(k, v string) bool)
-}
-
-// Span represents an active, un-finished span in the OpenTracing system.
-//
-// Spans are created by the Tracer interface.
-type Span interface {
- // Sets the end timestamp and finalizes Span state.
- //
- // With the exception of calls to Context() (which are always allowed),
- // Finish() must be the last call made to any span instance, and to do
- // otherwise leads to undefined behavior.
- Finish()
- // FinishWithOptions is like Finish() but with explicit control over
- // timestamps and log data.
- FinishWithOptions(opts FinishOptions)
-
- // Context() yields the SpanContext for this Span. Note that the return
- // value of Context() is still valid after a call to Span.Finish(), as is
- // a call to Span.Context() after a call to Span.Finish().
- Context() SpanContext
-
- // Sets or changes the operation name.
- //
- // Returns a reference to this Span for chaining.
- SetOperationName(operationName string) Span
-
- // Adds a tag to the span.
- //
- // If there is a pre-existing tag set for `key`, it is overwritten.
- //
- // Tag values can be numeric types, strings, or bools. The behavior of
- // other tag value types is undefined at the OpenTracing level. If a
- // tracing system does not know how to handle a particular value type, it
- // may ignore the tag, but shall not panic.
- //
- // Returns a reference to this Span for chaining.
- SetTag(key string, value interface{}) Span
-
- // LogFields is an efficient and type-checked way to record key:value
- // logging data about a Span, though the programming interface is a little
- // more verbose than LogKV(). Here's an example:
- //
- // span.LogFields(
- // log.String("event", "soft error"),
- // log.String("type", "cache timeout"),
- // log.Int("waited.millis", 1500))
- //
- // Also see Span.FinishWithOptions() and FinishOptions.BulkLogData.
- LogFields(fields ...log.Field)
-
- // LogKV is a concise, readable way to record key:value logging data about
- // a Span, though unfortunately this also makes it less efficient and less
- // type-safe than LogFields(). Here's an example:
- //
- // span.LogKV(
- // "event", "soft error",
- // "type", "cache timeout",
- // "waited.millis", 1500)
- //
- // For LogKV (as opposed to LogFields()), the parameters must appear as
- // key-value pairs, like
- //
- // span.LogKV(key1, val1, key2, val2, key3, val3, ...)
- //
- // The keys must all be strings. The values may be strings, numeric types,
- // bools, Go error instances, or arbitrary structs.
- //
- // (Note to implementors: consider the log.InterleavedKVToFields() helper)
- LogKV(alternatingKeyValues ...interface{})
-
- // SetBaggageItem sets a key:value pair on this Span and its SpanContext
- // that also propagates to descendants of this Span.
- //
- // SetBaggageItem() enables powerful functionality given a full-stack
- // opentracing integration (e.g., arbitrary application data from a mobile
- // app can make it, transparently, all the way into the depths of a storage
- // system), and with it some powerful costs: use this feature with care.
- //
- // IMPORTANT NOTE #1: SetBaggageItem() will only propagate baggage items to
- // *future* causal descendants of the associated Span.
- //
- // IMPORTANT NOTE #2: Use this thoughtfully and with care. Every key and
- // value is copied into every local *and remote* child of the associated
- // Span, and that can add up to a lot of network and cpu overhead.
- //
- // Returns a reference to this Span for chaining.
- SetBaggageItem(restrictedKey, value string) Span
-
- // Gets the value for a baggage item given its key. Returns the empty string
- // if the value isn't found in this Span.
- BaggageItem(restrictedKey string) string
-
- // Provides access to the Tracer that created this Span.
- Tracer() Tracer
-
- // Deprecated: use LogFields or LogKV
- LogEvent(event string)
- // Deprecated: use LogFields or LogKV
- LogEventWithPayload(event string, payload interface{})
- // Deprecated: use LogFields or LogKV
- Log(data LogData)
-}
-
-// LogRecord is data associated with a single Span log. Every LogRecord
-// instance must specify at least one Field.
-type LogRecord struct {
- Timestamp time.Time
- Fields []log.Field
-}
-
-// FinishOptions allows Span.FinishWithOptions callers to override the finish
-// timestamp and provide log data via a bulk interface.
-type FinishOptions struct {
- // FinishTime overrides the Span's finish time, or implicitly becomes
- // time.Now() if FinishTime.IsZero().
- //
- // FinishTime must resolve to a timestamp that's >= the Span's StartTime
- // (per StartSpanOptions).
- FinishTime time.Time
-
- // LogRecords allows the caller to specify the contents of many LogFields()
- // calls with a single slice. May be nil.
- //
- // None of the LogRecord.Timestamp values may be .IsZero() (i.e., they must
- // be set explicitly). Also, they must be >= the Span's start timestamp and
- // <= the FinishTime (or time.Now() if FinishTime.IsZero()). Otherwise the
- // behavior of FinishWithOptions() is undefined.
- //
- // If specified, the caller hands off ownership of LogRecords at
- // FinishWithOptions() invocation time.
- //
- // If specified, the (deprecated) BulkLogData must be nil or empty.
- LogRecords []LogRecord
-
- // BulkLogData is DEPRECATED.
- BulkLogData []LogData
-}
-
-// LogData is DEPRECATED
-type LogData struct {
- Timestamp time.Time
- Event string
- Payload interface{}
-}
-
-// ToLogRecord converts a deprecated LogData to a non-deprecated LogRecord
-func (ld *LogData) ToLogRecord() LogRecord {
- var literalTimestamp time.Time
- if ld.Timestamp.IsZero() {
- literalTimestamp = time.Now()
- } else {
- literalTimestamp = ld.Timestamp
- }
- rval := LogRecord{
- Timestamp: literalTimestamp,
- }
- if ld.Payload == nil {
- rval.Fields = []log.Field{
- log.String("event", ld.Event),
- }
- } else {
- rval.Fields = []log.Field{
- log.String("event", ld.Event),
- log.Object("payload", ld.Payload),
- }
- }
- return rval
-}