Skip to content

Commit

Permalink
Update go-contrib for 0.5.0 (#35)
Browse files Browse the repository at this point in the history
* Provisional changes for 0.5.0

* Update to 0.5.0
  • Loading branch information
jmacd authored May 14, 2020
1 parent 68005a8 commit 1a79f0b
Show file tree
Hide file tree
Showing 25 changed files with 301 additions and 297 deletions.
20 changes: 11 additions & 9 deletions exporters/metric/datadog/datadog.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ import (

"github.com/DataDog/datadog-go/statsd"

"go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/metric"
export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/export/metric/aggregator"
"go.opentelemetry.io/otel/sdk/resource"
)

const (
Expand Down Expand Up @@ -65,7 +66,8 @@ func defaultFormatter(namespace, name string) string {
return name
}

func (e *Exporter) Export(ctx context.Context, cs export.CheckpointSet) error {
func (e *Exporter) Export(ctx context.Context, _ *resource.Resource, cs export.CheckpointSet) error {
// TODO: Use the Resource argument.
return cs.ForEach(func(r export.Record) error {
agg := r.Aggregator()
name := e.sanitizeMetricName(r.Descriptor().LibraryName(), r.Descriptor().Name())
Expand Down Expand Up @@ -94,7 +96,7 @@ func (e *Exporter) Export(ctx context.Context, cs export.CheckpointSet) error {
case aggregator.MinMaxSumCount:
type record struct {
name string
f func() (core.Number, error)
f func() (metric.Number, error)
}
recs := []record{
{
Expand All @@ -108,10 +110,10 @@ func (e *Exporter) Export(ctx context.Context, cs export.CheckpointSet) error {
}
if dist, ok := agg.(aggregator.Distribution); ok {
recs = append(recs,
record{name: name + ".median", f: func() (core.Number, error) {
record{name: name + ".median", f: func() (metric.Number, error) {
return dist.Quantile(0.5)
}},
record{name: name + ".p95", f: func() (core.Number, error) {
record{name: name + ".p95", f: func() (metric.Number, error) {
return dist.Quantile(0.95)
}},
)
Expand Down Expand Up @@ -166,13 +168,13 @@ func sanitizeString(str string) string {
return reg.ReplaceAllString(str, "_")
}

func metricValue(kind core.NumberKind, number core.Number) float64 {
func metricValue(kind metric.NumberKind, number metric.Number) float64 {
switch kind {
case core.Float64NumberKind:
case metric.Float64NumberKind:
return number.AsFloat64()
case core.Int64NumberKind:
case metric.Int64NumberKind:
return float64(number.AsInt64())
case core.Uint64NumberKind:
case metric.Uint64NumberKind:
return float64(number.AsUint64())
}
return float64(number)
Expand Down
7 changes: 3 additions & 4 deletions exporters/metric/datadog/example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,22 @@ import (
"go.opentelemetry.io/contrib/exporters/metric/datadog"
"go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/metric"
export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/metric/batcher/ungrouped"
"go.opentelemetry.io/otel/sdk/metric/controller/push"
integrator "go.opentelemetry.io/otel/sdk/metric/integrator/simple"
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
)

func ExampleExporter() {
selector := simple.NewWithSketchMeasure(ddsketch.NewDefaultConfig())
batcher := ungrouped.New(selector, export.NewDefaultLabelEncoder(), false)
integrator := integrator.New(selector, false)
exp, err := datadog.NewExporter(datadog.Options{
Tags: []string{"env:dev"},
})
if err != nil {
panic(err)
}
defer exp.Close()
pusher := push.New(batcher, exp, time.Second*10)
pusher := push.New(integrator, exp, time.Second*10)
defer pusher.Stop()
pusher.Start()
global.SetMeterProvider(pusher)
Expand Down
2 changes: 1 addition & 1 deletion exporters/metric/datadog/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ go 1.14
require (
github.com/DataDog/datadog-go v3.5.0+incompatible
github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7
go.opentelemetry.io/otel v0.4.2
go.opentelemetry.io/otel v0.5.0
)
4 changes: 2 additions & 2 deletions exporters/metric/datadog/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
go.opentelemetry.io/otel v0.4.2 h1:nT+GOqqRR1cIY92xmo1DeiXLHtIlXH1KLRgnsnhuNrs=
go.opentelemetry.io/otel v0.4.2/go.mod h1:OgNpQOjrlt33Ew6Ds0mGjmcTQg/rhUctsbkRdk/g1fw=
go.opentelemetry.io/otel v0.5.0 h1:tdIR1veg/z+VRJaw/6SIxz+QX3l+m+BDleYLTs+GC1g=
go.opentelemetry.io/otel v0.5.0/go.mod h1:jzBIgIzK43Iu1BpDAXwqOd6UPsSAk+ewVZ5ofSXw4Ek=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
Expand Down
8 changes: 4 additions & 4 deletions exporters/metric/dogstatsd/dogstatsd.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import (
"go.opentelemetry.io/otel/sdk/metric/aggregator/array"
"go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue"
"go.opentelemetry.io/otel/sdk/metric/aggregator/sum"
"go.opentelemetry.io/otel/sdk/metric/batcher/ungrouped"
"go.opentelemetry.io/otel/sdk/metric/controller/push"
integrator "go.opentelemetry.io/otel/sdk/metric/integrator/simple"
"go.opentelemetry.io/otel/sdk/resource"
)

Expand Down Expand Up @@ -89,11 +89,11 @@ func NewExportPipeline(config Config, period time.Duration, opts ...push.Option)
return nil, err
}

// The ungrouped batcher ensures that the export sees the full
// The simple integrator ensures that the export sees the full
// set of labels as dogstatsd tags.
batcher := ungrouped.New(exporter, false)
integrator := integrator.New(exporter, false)

pusher := push.New(batcher, exporter, period, opts...)
pusher := push.New(integrator, exporter, period, opts...)
pusher.Start()

return pusher, nil
Expand Down
25 changes: 12 additions & 13 deletions exporters/metric/dogstatsd/dogstatsd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ import (
"github.com/stretchr/testify/require"

"go.opentelemetry.io/contrib/exporters/metric/dogstatsd"
"go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/kv"
"go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporters/metric/test"
"go.opentelemetry.io/otel/sdk/metric/aggregator/sum"
Expand All @@ -35,12 +34,12 @@ import (
func TestDogstatsLabels(t *testing.T) {
type testCase struct {
name string
resources []core.KeyValue
labels []core.KeyValue
resources []kv.KeyValue
labels []kv.KeyValue
expected string
}

kvs := func(kvs ...core.KeyValue) []core.KeyValue { return kvs }
kvs := func(kvs ...kv.KeyValue) []kv.KeyValue { return kvs }

cases := []testCase{
{
Expand All @@ -51,25 +50,25 @@ func TestDogstatsLabels(t *testing.T) {
},
{
name: "only resources",
resources: kvs(key.String("R", "S")),
resources: kvs(kv.String("R", "S")),
labels: nil,
expected: "test.name:123|c|#R:S\n",
},
{
name: "only labels",
resources: nil,
labels: kvs(key.String("A", "B")),
labels: kvs(kv.String("A", "B")),
expected: "test.name:123|c|#A:B\n",
},
{
name: "both resources and labels",
resources: kvs(key.String("R", "S")),
labels: kvs(key.String("A", "B")),
resources: kvs(kv.String("R", "S")),
labels: kvs(kv.String("A", "B")),
expected: "test.name:123|c|#R:S,A:B\n",
},
{
resources: kvs(key.String("A", "R")),
labels: kvs(key.String("A", "B")),
resources: kvs(kv.String("A", "R")),
labels: kvs(kv.String("A", "B")),
expected: "test.name:123|c|#A:R,A:B\n",
},
}
Expand All @@ -79,9 +78,9 @@ func TestDogstatsLabels(t *testing.T) {
ctx := context.Background()
checkpointSet := test.NewCheckpointSet()

desc := metric.NewDescriptor("test.name", metric.CounterKind, core.Int64NumberKind)
desc := metric.NewDescriptor("test.name", metric.CounterKind, metric.Int64NumberKind)
cagg := sum.New()
_ = cagg.Update(ctx, core.NewInt64Number(123), &desc)
_ = cagg.Update(ctx, metric.NewInt64Number(123), &desc)
cagg.Checkpoint(ctx, &desc)

checkpointSet.Add(&desc, cagg, tc.labels...)
Expand Down
6 changes: 3 additions & 3 deletions exporters/metric/dogstatsd/example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"time"

"go.opentelemetry.io/contrib/exporters/metric/dogstatsd"
"go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/kv"
"go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/sdk/metric/controller/push"
"go.opentelemetry.io/otel/sdk/resource"
Expand Down Expand Up @@ -62,14 +62,14 @@ func ExampleNew() {
// In real code, use the URL field:
//
// URL: fmt.Sprint("unix://", path),
}, time.Minute, push.WithResource(resource.New(key.String("host", "name"))))
}, time.Minute, push.WithResource(resource.New(kv.String("host", "name"))))
if err != nil {
log.Fatal("Could not initialize dogstatsd exporter:", err)
}

ctx := context.Background()

key := key.New("key")
key := kv.Key("key")

// pusher implements the metric.MeterProvider interface:
meter := pusher.Meter("example")
Expand Down
2 changes: 1 addition & 1 deletion exporters/metric/dogstatsd/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ go 1.14

require (
github.com/stretchr/testify v1.5.1
go.opentelemetry.io/otel v0.4.3
go.opentelemetry.io/otel v0.5.0
)
4 changes: 2 additions & 2 deletions exporters/metric/dogstatsd/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
go.opentelemetry.io/otel v0.4.3 h1:CroUX/0O1ZDcF0iWOO8gwYFWb5EbdSF0/C1yosO+Vhs=
go.opentelemetry.io/otel v0.4.3/go.mod h1:jzBIgIzK43Iu1BpDAXwqOd6UPsSAk+ewVZ5ofSXw4Ek=
go.opentelemetry.io/otel v0.5.0 h1:tdIR1veg/z+VRJaw/6SIxz+QX3l+m+BDleYLTs+GC1g=
go.opentelemetry.io/otel v0.5.0/go.mod h1:jzBIgIzK43Iu1BpDAXwqOd6UPsSAk+ewVZ5ofSXw4Ek=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
Expand Down
12 changes: 6 additions & 6 deletions exporters/metric/dogstatsd/internal/statsd/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import (
"net/url"
"strconv"

"go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/api/unit"
export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/export/metric/aggregator"
Expand Down Expand Up @@ -288,7 +288,7 @@ func (e *Exporter) formatMetric(rec export.Record, res *resource.Resource, pos i

// formatSingleStat encodes a single item of statsd data followed by a
// newline.
func (e *Exporter) formatSingleStat(rec export.Record, res *resource.Resource, val core.Number, fmtStr string, buf *bytes.Buffer) {
func (e *Exporter) formatSingleStat(rec export.Record, res *resource.Resource, val metric.Number, fmtStr string, buf *bytes.Buffer) {
if e.config.Prefix != "" {
_, _ = buf.WriteString(e.config.Prefix)
}
Expand All @@ -301,15 +301,15 @@ func (e *Exporter) formatSingleStat(rec export.Record, res *resource.Resource, v
_, _ = buf.WriteRune('\n')
}

func writeNumber(buf *bytes.Buffer, num core.Number, kind core.NumberKind) {
func writeNumber(buf *bytes.Buffer, num metric.Number, kind metric.NumberKind) {
var tmp [128]byte
var conv []byte
switch kind {
case core.Int64NumberKind:
case metric.Int64NumberKind:
conv = strconv.AppendInt(tmp[:0], num.AsInt64(), 10)
case core.Float64NumberKind:
case metric.Float64NumberKind:
conv = strconv.AppendFloat(tmp[:0], num.AsFloat64(), 'g', -1, 64)
case core.Uint64NumberKind:
case metric.Uint64NumberKind:
conv = strconv.AppendUint(tmp[:0], num.AsUint64(), 10)
}
_, _ = buf.Write(conv)
Expand Down
29 changes: 14 additions & 15 deletions exporters/metric/dogstatsd/internal/statsd/conn_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ import (
"github.com/stretchr/testify/require"

"go.opentelemetry.io/contrib/exporters/metric/dogstatsd/internal/statsd"
"go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/kv"
"go.opentelemetry.io/otel/api/label"
"go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/api/unit"
Expand Down Expand Up @@ -111,9 +110,9 @@ timer.B.D:%s|ms
adapter := ao.adapter
expected := ao.expected
t.Run(fmt.Sprintf("%T", adapter), func(t *testing.T) {
for _, nkind := range []core.NumberKind{
core.Float64NumberKind,
core.Int64NumberKind,
for _, nkind := range []metric.NumberKind{
metric.Float64NumberKind,
metric.Int64NumberKind,
} {
t.Run(nkind.String(), func(t *testing.T) {
ctx := context.Background()
Expand All @@ -137,9 +136,9 @@ timer.B.D:%s|ms
tdesc := metric.NewDescriptor(
"timer", metric.MeasureKind, nkind, metric.WithUnit(unit.Milliseconds))

labels := []core.KeyValue{
key.New("A").String("B"),
key.New("C").String("D"),
labels := []kv.KeyValue{
kv.String("A", "B"),
kv.String("C", "D"),
}
const value = 123.456

Expand All @@ -152,7 +151,7 @@ timer.B.D:%s|ms
require.Nil(t, err)

var vfmt string
if nkind == core.Int64NumberKind {
if nkind == metric.Int64NumberKind {
fv := value
vfmt = strconv.FormatInt(int64(fv), 10)
} else {
Expand All @@ -167,10 +166,10 @@ timer.B.D:%s|ms
}
}

func makeLabels(offset, nkeys int) []core.KeyValue {
r := make([]core.KeyValue, nkeys)
func makeLabels(offset, nkeys int) []kv.KeyValue {
r := make([]kv.KeyValue, nkeys)
for i := range r {
r[i] = key.New(fmt.Sprint("k", offset+i)).String(fmt.Sprint("v", offset+i))
r[i] = kv.String(fmt.Sprint("k", offset+i), fmt.Sprint("v", offset+i))
}
return r
}
Expand Down Expand Up @@ -290,7 +289,7 @@ func TestPacketSplit(t *testing.T) {
}

checkpointSet := test.NewCheckpointSet()
desc := metric.NewDescriptor("counter", metric.CounterKind, core.Int64NumberKind)
desc := metric.NewDescriptor("counter", metric.CounterKind, metric.Int64NumberKind)

var expected []string

Expand Down Expand Up @@ -327,7 +326,7 @@ func TestArraySplit(t *testing.T) {
}

checkpointSet := test.NewCheckpointSet()
desc := metric.NewDescriptor("measure", metric.MeasureKind, core.Int64NumberKind)
desc := metric.NewDescriptor("measure", metric.MeasureKind, metric.Int64NumberKind)

for i := 0; i < 1024; i++ {
checkpointSet.AddMeasure(&desc, 100)
Expand Down Expand Up @@ -358,7 +357,7 @@ func TestPrefix(t *testing.T) {
}

checkpointSet := test.NewCheckpointSet()
desc := metric.NewDescriptor("measure", metric.MeasureKind, core.Int64NumberKind)
desc := metric.NewDescriptor("measure", metric.MeasureKind, metric.Int64NumberKind)

checkpointSet.AddMeasure(&desc, 100)

Expand Down
4 changes: 2 additions & 2 deletions exporters/metric/dogstatsd/labels.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
"bytes"
"sync"

"go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/kv"
"go.opentelemetry.io/otel/api/label"
)

Expand Down Expand Up @@ -59,7 +59,7 @@ func (e *LabelEncoder) Encode(iter label.Iterator) string {
return buf.String()
}

func (e *LabelEncoder) encodeOne(buf *bytes.Buffer, kv core.KeyValue) {
func (e *LabelEncoder) encodeOne(buf *bytes.Buffer, kv kv.KeyValue) {
if buf.Len() != 0 {
_, _ = buf.WriteRune(',')
}
Expand Down
Loading

0 comments on commit 1a79f0b

Please sign in to comment.