Skip to content

Commit

Permalink
vendor: update OpenTelemetry
Browse files Browse the repository at this point in the history
Update OpenTelemetry to v0.19.0.

Git log
    2b4fa968 Release v0.19.0 (kata-containers#1710)
    4beb7041 sdk/trace: removing ApplyConfig and Config (kata-containers#1693)
    1d42be16 Rename WithDefaultSampler TracerProvider option to WithSampler and update docs (kata-containers#1702)
    860d5d86 Add flag to determine whether SpanContext is remote (kata-containers#1701)
    0fe65e6b Comply with OpenTelemetry attributes specification (kata-containers#1703)
    88884351 Bump google.golang.org/api from 0.40.0 to 0.41.0 in /exporters/trace/jaeger (kata-containers#1700)
    345f264a breaking(zipkin): removes servicName from zipkin exporter. (kata-containers#1697)
    62cbf0f2 Populate Jaeger's Span.Process from Resource (kata-containers#1673)
    28eaaa9a Add a test to prove the Tracer is safe for concurrent calls (kata-containers#1665)
    8b1be11a Rename resource pkg label vars and methods (kata-containers#1692)
    a1539d44 OpenCensus metric exporter bridge (kata-containers#1444)
    77aa218d Fix issue kata-containers#1490, apply same logic as in the SDK (kata-containers#1687)
    9d3416cc Fix synchronization issues in global trace delegate implementation (kata-containers#1686)
    58f69f09 Span status from HTTP code: Do not set status message if it can be inferred (kata-containers#1681)
    9c305bde Flush metric events prior to shutdown in OTLP example (kata-containers#1678)
    66b1135a Fix CHANGELOG (kata-containers#1680)
    90bd4ab5 Update employer information for maintainers (kata-containers#1683)
    36841913 Remove WithRecord() option from trace.SpanOption when starting a span (kata-containers#1660)
    65c7de20 Remove trace prefix from NoOp src files. (kata-containers#1679)
    e88a091a Make SpanContext Immutable (kata-containers#1573)
    d75e2680 Avoid overriding configuration of tracer provider (kata-containers#1633)
    2b4d5ac3 Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1671)
    150b868d Bump github.com/google/go-cmp from 0.5.4 to 0.5.5 (kata-containers#1667)
    76aa924e Fix the examples target info messaging (kata-containers#1676)
    a3aa9fda Bump github.com/itchyny/gojq from 0.12.1 to 0.12.2 in /internal/tools (kata-containers#1672)
    a5edd79e Removed setting error status while recording err as span event (kata-containers#1663)
    e9814758 chore(zipkin): improves zipkin example to not to depend on timeouts. (kata-containers#1566)
    3dc91f2d Add ForceFlush method to TracerProvider (kata-containers#1608)
    bd0bba43 exporter: swap pusher for exporter (kata-containers#1656)
    56904859 Update the SimpleSpanProcessor (kata-containers#1612)
    a7f7abac  SpanStatus description set only when status code is set to Error (kata-containers#1662)
    05252f40 Jaeger Exporter: Fix minor mapping discrepancies (kata-containers#1626)
    238e7c61 Add non-empty string check for attribute keys (kata-containers#1659)
    e9b9aca8 Add tests for propagation of Sampler Tracestate changes (kata-containers#1655)
    875a2583 Add docs on when reviews should be cleared (kata-containers#1556)
    7153ef2d Add HTTP/JSON to the otlp exporter (kata-containers#1586)
    62e2a0f7 Unexport the simple and batch SpanProcessors (kata-containers#1638)
    992837f1 Add TracerProvider tests to oteltest harness (kata-containers#1607)
    bb4c297e Pre release v0.18.0 (kata-containers#1635)
    712c3dcc Fix makefile ci target and coverage test packages (kata-containers#1634)
    841d2a58 Rename local var new to not collide with builtin (kata-containers#1610)
    13938ab5 Update SpanProcessor docs (kata-containers#1611)
    e25503a0 Add compatibility tests to CI (kata-containers#1567)
    1519d959 Use reasonable interval in sdktrace.WithBatchTimeout (kata-containers#1621)
    7d4496e0 Pass metric labels when transforming to gaugeArray (kata-containers#1570)
    6d4a5e0d Bump google.golang.org/grpc from 1.35.0 to 1.36.0 in /exporters/otlp (kata-containers#1619)
    a93393a0 Bump google.golang.org/grpc in /example/prom-collector (kata-containers#1620)
    e499ca86 Fix validation for tracestate with vendor and add tests (kata-containers#1581)
    43886e52 Make timestamps sequential in lastvalue agg check (kata-containers#1579)
    37688ef6 revent end-users from implementing some interfaces (kata-containers#1575)
    85e696d2 Updating documentation with an working example for creating NewExporter (kata-containers#1513)
    562eb28b Unify the Added sections of the unreleased changes (kata-containers#1580)
    c4cf1aff Fix Windows build of Jaeger tests (kata-containers#1577)
    4a163bea Fix stdout TestStdoutTimestamp failure with sleep (kata-containers#1572)
    bd4701eb Stagger timestamps in exact aggregator tests (kata-containers#1569)
    b94cd4b2 add code attributes to semconv package (kata-containers#1558)
    78c06cef Update docs from gitter to slack for communication (kata-containers#1554)
    1307c911 Remove vendor exclude from license-check (kata-containers#1552)
    5d2636e5 Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1565)
    d7aff473 Vendor Thrift dependency (kata-containers#1551)
    298c5a14 Update span limits to conform with OpenTelemetry specification (kata-containers#1535)
    ecf65d79 Rename otel/label -> otel/attribute (kata-containers#1541)
    1b5b6621 Remove resampling on span.SetName (kata-containers#1545)
    8da52996 fix: grpc reconnection  (kata-containers#1521)
    3bce9c97 Add Keys() method to propagation.TextMapCarrier (kata-containers#1544)
    0b1a1c72 Make oteltest.SpanRecorder into a concrete type (kata-containers#1542)
    7d0e3e52 SDK span no modification after ended (kata-containers#1543)
    7de3b58c Remove extra labels types (kata-containers#1314)
    73194e44 Bump google.golang.org/api from 0.39.0 to 0.40.0 in /exporters/trace/jaeger (kata-containers#1536)
    8fae0a64 Create resource.Default() with required attributes/default values (kata-containers#1507)
    76f93422 Release v0.17.0 (kata-containers#1534)
    9b242bc4 Organize API into Go modules based on stability and dependencies (kata-containers#1528)
    e50a1c8c Bump actions/cache from v2 to v2.1.4 (kata-containers#1518)
    a6aa7f00 Bump google.golang.org/api from 0.38.0 to 0.39.0 in /exporters/trace/jaeger (kata-containers#1517)
    38efc875 Code Improvement - Error strings should not be capitalized (kata-containers#1488)
    6b340501 Update default branch name (kata-containers#1505)
    b39fd052 nit: Fix comment to be up-to-date (kata-containers#1510)
    186c2953 Fix golint error of package comment form (kata-containers#1487)
    9308d662 Bump google.golang.org/api from 0.37.0 to 0.38.0 in /exporters/trace/jaeger (kata-containers#1506)
    1952d7b6 Reverse order of attribute precedence when merging two Resources (kata-containers#1501)
    ad7b4715 Remove build flags for runtime/trace support (kata-containers#1498)
    4bf4b690 Remove inaccurate and unnecessary import comment (kata-containers#1481)
    7e19eb6a Bump google.golang.org/api from 0.36.0 to 0.37.0 in /exporters/trace/jaeger (kata-containers#1504)
    c6a4406a Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1503)
    9524ac09 Update workflows to include main branch as trigger (kata-containers#1497)
    c066f15e Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /internal/tools (kata-containers#1478)
    894e0240 Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1477)
    71ffba39 Bump google.golang.org/grpc from 1.34.0 to 1.35.0 in /exporters/otlp (kata-containers#1471)
    515809a8 Bump github.com/itchyny/gojq from 0.12.0 to 0.12.1 in /internal/tools (kata-containers#1472)
    3e96ad1e gitignore: remove unused example path (kata-containers#1474)
    c5622777 Histogram aggregator functional options (kata-containers#1434)
    0df8cd62 Rename Makefile.proto to avoid interpretation as proto file (kata-containers#1468)
    979ff51f Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (kata-containers#1453)
    1df8b3b8 Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /exporters/otlp (kata-containers#1456)
    4c30a90a Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /sdk (kata-containers#1455)
    5a9f8f6e Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/stdout (kata-containers#1454)
    7786f34c Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/trace/zipkin (kata-containers#1457)
    4352a7a6 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/otlp (kata-containers#1460)
    6990b3b3 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/metric/prometheus (kata-containers#1461)
    7af40d22 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/trace/jaeger (kata-containers#1463)
    f16f1892 Bump google.golang.org/grpc in /example/otel-collector (kata-containers#1465)
    fe363be3 Move Span Event to API (kata-containers#1452)
    43922240 Bump google.golang.org/grpc in /example/prom-collector (kata-containers#1466)
    0aadfb27 Prepare release v0.16.0 (kata-containers#1464)
    207587b6 Metric histogram aggregator: Swap in SynchronizedMove to avoid allocations (kata-containers#1435)
    c29c6fd1 Shutdown underlying span exporter while shutting down BatchSpanProcessor (kata-containers#1443)
    dfece3d2 Combine the Push and Pull metric controllers (kata-containers#1378)
    74deeddd Handle tracestate in TraceContext propagator  (kata-containers#1447)
    49f699d6 Remove Quantile aggregation, DDSketch aggregator; add Exact timestamps (kata-containers#1412)
    9c949411 Rename internal/testing to internal/internaltest (kata-containers#1449)
    8d809814 Move gRPC driver to a subpackage and add an HTTP driver (kata-containers#1420)
    9332af1b Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1445)
    5ed96e92 Update exporters/otlp Readme.md (kata-containers#1441)
    bc9cb5e3 Switch CircleCI badge to GitHub Actions (kata-containers#1440)
    716ad082 Remove CircleCI config (kata-containers#1439)
    0682db1e Adding Security Workflows to GitHub Actions (2/2): gosec workflow (kata-containers#1429)
    11f732b8 Adding Security Workflows to GitHub Actions (1/2): codeql workflow (kata-containers#1428)
    40f1c003 Add Tracestate into the SamplingResult struct (kata-containers#1432)
    db06c8d1 Flush metric events before shutdown in collector example (kata-containers#1438)
    f6f458e1 Fix golint issue caused by typo in trace.go (kata-containers#1436)
    fe9d1f7e Use uint64 Count consistently in metric aggregation (kata-containers#1430)
    3a337d0b Bump github.com/golangci/golangci-lint in /internal/tools (kata-containers#1433)
    1e4c8321 cleanup: drop the removed examples in gitignore (kata-containers#1427)
    5c9221cf Unify endpoint API that related to OTel exporter (kata-containers#1401)
    045c3ffe Build scripts: Replace mapfile with read loop for old bash versions (kata-containers#1425)
    2def8c3d Add Versioning Documentation (kata-containers#1388)
    6bcd1085 Bump github.com/itchyny/gojq from 0.11.2 to 0.12.0 in /internal/tools (kata-containers#1424)
    38e76efe Add a split protocol driver for otlp exporter (kata-containers#1418)
    439cd313 Add TraceState to SpanContext in API (kata-containers#1340)
    35215264 Split connection management away from exporter (kata-containers#1369)
    add9d933 Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 in /exporters/metric/prometheus (kata-containers#1414)
    93d426a1 Add @dashpole as a project Approver (kata-containers#1410)
    6fe20ef3 Fix small typo (kata-containers#1409)
    b22d0d70 Mention the getting started guide (kata-containers#1406)
    3fb80fb2 Fix duplicate checkout action in GitHub workflow (kata-containers#1407)
    2051927b Correct CI workflow syntax (kata-containers#1403)
    f11a86f7 Fix typo in comment (kata-containers#1402)
    bdf87a78 Migrate CircleCI ci.yml workflow to GitHub Actions (kata-containers#1382)
    4e59dd1f Bump google.golang.org/grpc from 1.32.0 to 1.34.0 in /example/otel-collector (kata-containers#1400)
    83513f70 Bump google.golang.org/api from 0.32.0 to 0.36.0 in /exporters/trace/jaeger (kata-containers#1398)
    a354fc41 Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 in /exporters/metric/prometheus (kata-containers#1397)
    3528e42c Bump google.golang.org/grpc from 1.32.0 to 1.34.0 in /exporters/otlp (kata-containers#1396)
    af114baf Call otel.Handle with non-nil errors (kata-containers#1384)
    c3c4273e Add RO/RW span interfaces (kata-containers#1360)

Fixes kata-containers#2591

Signed-off-by: Chelsea Mafrica <chelsea.e.mafrica@intel.com>
  • Loading branch information
cmaf committed Sep 7, 2021
1 parent 9bbaa66 commit 972415e
Show file tree
Hide file tree
Showing 181 changed files with 5,237 additions and 2,009 deletions.
13 changes: 7 additions & 6 deletions src/runtime/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,19 @@ require (
github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8
github.com/sirupsen/logrus v1.8.1
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/stretchr/testify v1.6.1
github.com/stretchr/testify v1.7.0
github.com/urfave/cli v1.22.2
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
go.opentelemetry.io/otel v0.15.0
go.opentelemetry.io/otel/exporters/trace/jaeger v0.15.0
go.opentelemetry.io/otel/sdk v0.15.0
go.opentelemetry.io/otel v0.19.0
go.opentelemetry.io/otel/exporters/trace/jaeger v0.19.0
go.opentelemetry.io/otel/sdk v0.19.0
go.opentelemetry.io/otel/trace v0.19.0
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
google.golang.org/grpc v1.33.2
google.golang.org/grpc v1.36.0
k8s.io/apimachinery v0.20.6
k8s.io/cri-api v0.20.6
)
Expand Down
85 changes: 66 additions & 19 deletions src/runtime/go.sum

Large diffs are not rendered by default.

39 changes: 22 additions & 17 deletions src/runtime/pkg/katautils/katatrace/tracing.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ import (
"github.com/sirupsen/logrus"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/trace/jaeger"
"go.opentelemetry.io/otel/label"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/propagation"
export "go.opentelemetry.io/otel/sdk/export/trace"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/trace"
otelTrace "go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/otel/sdk/resource"
"go.opentelemetry.io/otel/semconv"
)

// kataSpanExporter is used to ensure that Jaeger logs each span.
Expand All @@ -28,7 +30,7 @@ type kataSpanExporter struct{}
var _ export.SpanExporter = (*kataSpanExporter)(nil)

// ExportSpans exports SpanData to Jaeger.
func (e *kataSpanExporter) ExportSpans(ctx context.Context, spans []*export.SpanData) error {
func (e *kataSpanExporter) ExportSpans(ctx context.Context, spans []*export.SpanSnapshot) error {
for _, span := range spans {
kataTraceLogger.Tracef("Reporting span %+v", span)
}
Expand Down Expand Up @@ -80,26 +82,29 @@ func CreateTracer(name string, config *JaegerConfig) (func(), error) {
jaeger.WithCollectorEndpoint(collectorEndpoint,
jaeger.WithUsername(config.JaegerUser),
jaeger.WithPassword(config.JaegerPassword),
), jaeger.WithProcess(jaeger.Process{
ServiceName: name,
Tags: []label.KeyValue{
label.String("exporter", "jaeger"),
label.String("lib", "opentelemetry"),
},
}))
), jaeger.WithSDKOptions(
sdktrace.WithResource(resource.NewWithAttributes(
semconv.ServiceNameKey.String(name),
attribute.String("exporter", "jaeger"),
attribute.String("lib", "opentelemetry"),
)),
),
)

if err != nil {
return nil, err
}

// build tracer provider, that combining both jaeger exporter and kata exporter.
tp := sdktrace.NewTracerProvider(
sdktrace.WithConfig(
sdktrace.Config{
DefaultSampler: sdktrace.AlwaysSample(),
},
),
sdktrace.WithSampler(sdktrace.AlwaysSample()),
sdktrace.WithSyncer(kataExporter),
sdktrace.WithSyncer(jaegerExporter),
sdktrace.WithResource(resource.NewWithAttributes(
semconv.ServiceNameKey.String(name),
attribute.String("exporter", "jaeger"),
attribute.String("lib", "opentelemetry"),
)),
)

tracerCloser = jaegerExporter.Flush
Expand Down Expand Up @@ -138,12 +143,12 @@ func Trace(parent context.Context, logger *logrus.Entry, name string, tags ...ma
parent = context.Background()
}

var otelTags []label.KeyValue
var otelTags []attribute.KeyValue
// do not append tags if tracing is disabled
if tracing {
for _, tagSet := range tags {
for k, v := range tagSet {
otelTags = append(otelTags, label.Key(k).String(v))
otelTags = append(otelTags, attribute.Key(k).String(v))
}
}
}
Expand All @@ -166,5 +171,5 @@ func Trace(parent context.Context, logger *logrus.Entry, name string, tags ...ma
// AddTag adds an additional key-value pair to a tracing span. This can be used to
// provide dynamic tags that are determined at runtime.
func AddTag(span otelTrace.Span, key string, value interface{}) {
span.SetAttributes(label.Any(key, value))
span.SetAttributes(attribute.Any(key, value))
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 972415e

Please sign in to comment.