mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-03-03 14:52:56 +02:00
* Allow specifying custom timestamps for events Adding event with timestamp is not yet a part of the OpenTelemetry specification, but this function will come in handy when implementing the OpenTracing bridge. * Add opentracing bridge, wrapper tracer and migration interfaces There are some features missing - setting up links and span kind; context propagation will only work between two OpenTracing bridges. * Add some tests for the opentracing bridge The tests mostly check various aspects of the cooperation between OpenTracing and OpenTelemetry APIs.
102 lines
2.5 KiB
Go
102 lines
2.5 KiB
Go
// Copyright 2019, OpenTelemetry Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package trace
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"google.golang.org/grpc/codes"
|
|
|
|
"go.opentelemetry.io/api/core"
|
|
"go.opentelemetry.io/api/tag"
|
|
apitrace "go.opentelemetry.io/api/trace"
|
|
)
|
|
|
|
// MockSpan is a mock span used in association with MockTracer for testing purpose only.
|
|
type MockSpan struct {
|
|
sc core.SpanContext
|
|
tracer apitrace.Tracer
|
|
}
|
|
|
|
var _ apitrace.Span = (*MockSpan)(nil)
|
|
|
|
// SpanContext returns associated core.SpanContext. If the receiver is nil it returns
|
|
// an empty core.SpanContext
|
|
func (ms *MockSpan) SpanContext() core.SpanContext {
|
|
if ms == nil {
|
|
core.EmptySpanContext()
|
|
}
|
|
return ms.sc
|
|
}
|
|
|
|
// IsRecordingEvents always returns false for MockSpan.
|
|
func (ms *MockSpan) IsRecordingEvents() bool {
|
|
return false
|
|
}
|
|
|
|
// SetStatus does nothing.
|
|
func (ms *MockSpan) SetStatus(status codes.Code) {
|
|
}
|
|
|
|
// SetError does nothing.
|
|
func (ms *MockSpan) SetError(v bool) {
|
|
}
|
|
|
|
// SetAttribute does nothing.
|
|
func (ms *MockSpan) SetAttribute(attribute core.KeyValue) {
|
|
}
|
|
|
|
// SetAttributes does nothing.
|
|
func (ms *MockSpan) SetAttributes(attributes ...core.KeyValue) {
|
|
}
|
|
|
|
// ModifyAttribute does nothing.
|
|
func (ms *MockSpan) ModifyAttribute(mutator tag.Mutator) {
|
|
}
|
|
|
|
// ModifyAttributes does nothing.
|
|
func (ms *MockSpan) ModifyAttributes(mutators ...tag.Mutator) {
|
|
}
|
|
|
|
// Finish does nothing.
|
|
func (ms *MockSpan) Finish(options ...apitrace.FinishOption) {
|
|
}
|
|
|
|
// SetName does nothing.
|
|
func (ms *MockSpan) SetName(name string) {
|
|
}
|
|
|
|
// Tracer returns MockTracer implementation of Tracer.
|
|
func (ms *MockSpan) Tracer() apitrace.Tracer {
|
|
return ms.tracer
|
|
}
|
|
|
|
// AddEvent does nothing.
|
|
func (ms *MockSpan) AddEvent(ctx context.Context, msg string, attrs ...core.KeyValue) {
|
|
}
|
|
|
|
// AddEvent does nothing.
|
|
func (ms *MockSpan) AddEventWithTimestamp(ctx context.Context, timestamp time.Time, msg string, attrs ...core.KeyValue) {
|
|
}
|
|
|
|
// AddLink does nothing.
|
|
func (ms *MockSpan) AddLink(link apitrace.Link) {
|
|
}
|
|
|
|
// Link does nothing.
|
|
func (ms *MockSpan) Link(sc core.SpanContext, attrs ...core.KeyValue) {
|
|
}
|