Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
27b5891
controller: use consistent naming
ldelossa Jan 23, 2021
9913f5c
Update workflows to include main branch as trigger (#1497)
MrAlias Jan 29, 2021
a278f88
Bump github.com/golangci/golangci-lint in /internal/tools (#1503)
dependabot[bot] Jan 29, 2021
5ae19e2
Bump google.golang.org/api from 0.36.0 to 0.37.0 in /exporters/trace/…
dependabot[bot] Jan 29, 2021
8bb2d32
Remove inaccurate and unnecessary import comment (#1481)
punya Jan 29, 2021
b4b2f2b
Remove build flags for runtime/trace support (#1498)
MrAlias Jan 29, 2021
a4604cc
Reverse order of attribute precedence when merging two Resources (#1501)
evantorrie Jan 29, 2021
827a1be
Bump google.golang.org/api from 0.37.0 to 0.38.0 in /exporters/trace/…
dependabot[bot] Feb 1, 2021
2278ab6
Fix golint error of package comment form (#1487)
wgliang Feb 4, 2021
0614722
nit: Fix comment to be up-to-date (#1510)
ymotongpoo Feb 4, 2021
d483892
Update default branch name (#1505)
MrAlias Feb 4, 2021
3a3a883
Code Improvement - Error strings should not be capitalized (#1488)
wgliang Feb 4, 2021
2d4d784
Bump google.golang.org/api from 0.38.0 to 0.39.0 in /exporters/trace/…
dependabot[bot] Feb 9, 2021
fbec67a
Bump actions/cache from v2 to v2.1.4 (#1518)
dependabot[bot] Feb 9, 2021
cce1492
Organize API into Go modules based on stability and dependencies (#1528)
punya Feb 12, 2021
1688226
Release v0.17.0 (#1534)
MrAlias Feb 15, 2021
27c0037
Create resource.Default() with required attributes/default values (#1…
evantorrie Feb 15, 2021
c625f90
Bump google.golang.org/api from 0.39.0 to 0.40.0 in /exporters/trace/…
dependabot[bot] Feb 16, 2021
d0b9105
Remove extra labels types (#1314)
dstdfx Feb 17, 2021
bceda6c
SDK span no modification after ended (#1543)
MrAlias Feb 17, 2021
f108a44
Make oteltest.SpanRecorder into a concrete type (#1542)
punya Feb 17, 2021
583251c
Add Keys() method to propagation.TextMapCarrier (#1544)
punya Feb 17, 2021
a6903a7
fix: grpc reconnection (#1521)
kstasik Feb 17, 2021
224ce56
Remove resampling on span.SetName (#1545)
Aneurysm9 Feb 18, 2021
984f693
Rename otel/label -> otel/attribute (#1541)
punya Feb 18, 2021
e59201d
Update span limits to conform with OpenTelemetry specification (#1535)
XSAM Feb 18, 2021
5658407
Vendor Thrift dependency (#1551)
punya Feb 19, 2021
52322a0
Bump github.com/golangci/golangci-lint in /internal/tools (#1565)
dependabot[bot] Feb 21, 2021
36d673b
Remove vendor exclude from license-check (#1552)
MrAlias Feb 22, 2021
a58c0e5
Update docs from gitter to slack for communication (#1554)
MrAlias Feb 22, 2021
f1eec71
add code attributes to semconv package (#1558)
zidhuss Feb 22, 2021
ab1f10b
Stagger timestamps in exact aggregator tests (#1569)
punya Feb 23, 2021
3e3272b
Fix stdout TestStdoutTimestamp failure with sleep (#1572)
MrAlias Feb 23, 2021
7a5de61
Fix Windows build of Jaeger tests (#1577)
MrAlias Feb 24, 2021
1d41345
Unify the Added sections of the unreleased changes (#1580)
MrAlias Feb 24, 2021
b0a21a0
Updating documentation with an working example for creating NewExport…
schafle Feb 24, 2021
e2ba4df
revent end-users from implementing some interfaces (#1575)
punya Feb 24, 2021
415df66
Make timestamps sequential in lastvalue agg check (#1579)
MrAlias Feb 25, 2021
5b4b6ec
Fix validation for tracestate with vendor and add tests (#1581)
MrAlias Feb 25, 2021
6e77849
Bump google.golang.org/grpc in /example/prom-collector (#1620)
dependabot[bot] Feb 28, 2021
a30914a
Bump google.golang.org/grpc from 1.35.0 to 1.36.0 in /exporters/otlp …
dependabot[bot] Feb 28, 2021
9abe109
Pass metric labels when transforming to gaugeArray (#1570)
terev Feb 28, 2021
ed3afc7
Use reasonable interval in sdktrace.WithBatchTimeout (#1621)
ijsong Mar 1, 2021
613ea74
Add compatibility tests to CI (#1567)
MrAlias Mar 1, 2021
32745a7
Update SpanProcessor docs (#1611)
MrAlias Mar 2, 2021
5b85dd9
Rename local var new to not collide with builtin (#1610)
MrAlias Mar 3, 2021
0c9f6db
Fix makefile ci target and coverage test packages (#1634)
MrAlias Mar 3, 2021
4fdb9bc
Pre release v0.18.0 (#1635)
Aneurysm9 Mar 3, 2021
06804d3
Add TracerProvider tests to oteltest harness (#1607)
MrAlias Mar 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ codecov:
ignore:
- "exporters/otlp/internal/opentelemetry-proto-gen/**/*"
- "exporters/trace/jaeger/internal/gen-go/**/*"
- "exporters/trace/jaeger/internal/third_party/**/*"

coverage:
precision: 1
Expand Down
30 changes: 30 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,33 @@ updates:
schedule:
day: sunday
interval: weekly
-
package-ecosystem: gomod
directory: /sdk/export/metric
labels:
- dependencies
- go
- "Skip Changelog"
schedule:
day: sunday
interval: weekly
-
package-ecosystem: gomod
directory: /sdk/metric
labels:
- dependencies
- go
- "Skip Changelog"
schedule:
day: sunday
interval: weekly
-
package-ecosystem: gomod
directory: /oteltest
labels:
- dependencies
- go
- "Skip Changelog"
schedule:
day: sunday
interval: weekly
5 changes: 2 additions & 3 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This action requires that any PR targeting the master branch should touch at
# This action requires that any PR targeting the main branch should touch at
# least one CHANGELOG file. If a CHANGELOG entry is not required, add the "Skip
# Changelog" label to disable this action.

Expand All @@ -8,8 +8,7 @@ on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
branches:
- master

- main
jobs:
changelog:
runs-on: ubuntu-latest
Expand Down
177 changes: 137 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,146 @@
name: ci
on:
push:
branches: [master]
branches:
- main
pull_request:
env:
TEST_RESULTS: /tmp/test-results # path to where test results will be saved
# Path to where test results will be saved.
TEST_RESULTS: /tmp/test-results
# Default minimum version of Go to support.
DEFAULT_GO_VERSION: 1.14
jobs:
go:
lint:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Environment
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
- name: Module cache
uses: actions/cache@v2.1.4
env:
cache-name: go-mod-cache
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
- name: Tools cache
uses: actions/cache@v2.1.4
env:
cache-name: go-tools-cache
with:
path: ~/.tools
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('./internal/tools/**') }}
- name: Run linters
run: make dependabot-check license-check lint
- name: Build
run: make examples build
- name: Check clean repository
run: make check-clean-work-tree

test-race:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Environment
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
- name: Module cache
uses: actions/cache@v2.1.4
env:
cache-name: go-mod-cache
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
- name: Run tests with race detector
run: make test-race

test-coverage:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Environment
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
- name: Module cache
uses: actions/cache@v2.1.4
env:
cache-name: go-mod-cache
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
- name: Run coverage tests
run: |
make test-coverage
mkdir $TEST_RESULTS
cp coverage.out $TEST_RESULTS
cp coverage.txt $TEST_RESULTS
cp coverage.html $TEST_RESULTS
- name: Upload coverage report
uses: codecov/codecov-action@v1
with:
file: ./coverage.txt
fail_ci_if_error: true
verbose: true
- name: Store coverage test output
uses: actions/upload-artifact@v2
with:
name: opentelemetry-go-test-output
path: ${{ env.TEST_RESULTS }}

compatibility-test:
strategy:
fail-fast: false
matrix:
go_version: [1.14, 1.15]
runs-on: ubuntu-latest
go-version: [1.15, 1.14]
os: [ubuntu-latest, macos-latest, windows-latest]
# GitHub Actions does not support arm* architectures on default
# runners. It is possible to acomplish this with a self-hosted runner
# if we want to add this in the future:
# https://docs.github.com/en/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow
arch: ["386", amd64]
exclude:
# Not a supported Go OS/architecture.
- os: macos-latest
arch: "386"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ matrix.go_version }}
- name: Setup Environment
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
- name: restore cache
uses: actions/cache@v2
env:
cache-name: cache-go-mod
with:
path: /home/runner/go/pkg/mod
key: go-pkg-mod-{{ checksum "go.sum" }}
- name: Precommit and Coverage Report
run: |
make ci
mkdir $TEST_RESULTS
cp coverage.out $TEST_RESULTS
cp coverage.txt $TEST_RESULTS
cp coverage.html $TEST_RESULTS
- uses: codecov/codecov-action@v1
with:
file: ./coverage.txt
fail_ci_if_error: true
verbose: true
- name: store test output
uses: actions/upload-artifact@v2
with:
name: opentelemetry-go-test-output
path: ${{ env.TEST_RESULTS }}
- name: Install Go
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Environment
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
shell: bash
- name: Module cache
uses: actions/cache@v2.1.4
env:
cache-name: go-mod-cache
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
- name: Run tests
env:
GOARCH: ${{ matrix.arch }}
run: make test-short
86 changes: 85 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,86 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]

## [0.18.0] - 2020-03-03

### Added

- Added `resource.Default()` for use with meter and tracer providers. (#1507)
- `AttributePerEventCountLimit` and `AttributePerLinkCountLimit` for `SpanLimits`. (#1535)
- Added `Keys()` method to `propagation.TextMapCarrier` and `propagation.HeaderCarrier` to adapt `http.Header` to this interface. (#1544)
- Added `code` attributes to `go.opentelemetry.io/otel/semconv` package. (#1558)
- Compatibility testing suite in the CI system for the following systems. (#1567)
| OS | Go Version | Architecture |
| ------- | ---------- | ------------ |
| Ubuntu | 1.15 | amd64 |
| Ubuntu | 1.14 | amd64 |
| Ubuntu | 1.15 | 386 |
| Ubuntu | 1.14 | 386 |
| MacOS | 1.15 | amd64 |
| MacOS | 1.14 | amd64 |
| Windows | 1.15 | amd64 |
| Windows | 1.14 | amd64 |
| Windows | 1.15 | 386 |
| Windows | 1.14 | 386 |

### Changed

- Replaced interface `oteltest.SpanRecorder` with its existing implementation
`StandardSpanRecorder` (#1542).
- Default span limit values to 128. (#1535)
- Rename `MaxEventsPerSpan`, `MaxAttributesPerSpan` and `MaxLinksPerSpan` to `EventCountLimit`, `AttributeCountLimit` and `LinkCountLimit`, and move these fields into `SpanLimits`. (#1535)
- Renamed the `otel/label` package to `otel/attribute`. (#1541)
- Vendor the Jaeger exporter's dependency on Apache Thrift. (#1551)
- Parallelize the CI linting and testing. (#1567)
- Stagger timestamps in exact aggregator tests. (#1569)
- Changed all examples to use `WithBatchTimeout(5 * time.Second)` rather than `WithBatchTimeout(5)`. (#1621)
- Prevent end-users from implementing some interfaces (#1575)
```
"otel/exporters/otlp/otlphttp".Option
"otel/exporters/stdout".Option
"otel/oteltest".Option
"otel/trace".TracerOption
"otel/trace".SpanOption
"otel/trace".EventOption
"otel/trace".LifeCycleOption
"otel/trace".InstrumentationOption
"otel/sdk/resource".Option
"otel/sdk/trace".ParentBasedSamplerOption
"otel/sdk/trace".ReadOnlySpan
"otel/sdk/trace".ReadWriteSpan
```

### Removed

- Removed attempt to resample spans upon changing the span name with `span.SetName()`. (#1545)
- The `test-benchmark` is no longer a dependency of the `precommit` make target. (#1567)
- Removed the `test-386` make target.
This was replaced with a full compatibility testing suite (i.e. multi OS/arch) in the CI system. (#1567)

### Fixed

- The sequential timing check of timestamps in the stdout exporter are now setup explicitly to be sequential (#1571). (#1572)
- Windows build of Jaeger tests now compiles with OS specific functions (#1576). (#1577)
- The sequential timing check of timestamps of go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue are now setup explicitly to be sequential (#1578). (#1579)
- Validate tracestate header keys with vedors according to the W3C TraceContext specification (#1475). (#1581)
- The OTLP exporter includes related labels for translations of a GaugeArray (#1563). (#1570)

## [0.17.0] - 2020-02-12

### Changed

- Rename project default branch from `master` to `main`. (#1505)
- Reverse order in which `Resource` attributes are merged, per change in spec. (#1501)
- Add tooling to maintain "replace" directives in go.mod files automatically. (#1528)
- Create new modules: otel/metric, otel/trace, otel/oteltest, otel/sdk/export/metric, otel/sdk/metric (#1528)
- Move metric-related public global APIs from otel to otel/metric/global. (#1528)

## Fixed

- Fixed otlpgrpc reconnection issue.
- The example code in the README.md of `go.opentelemetry.io/otel/exporters/otlp` is moved to a compiled example test and used the new `WithAddress` instead of `WithEndpoint`. (#1513)
- The otel-collector example now uses the default OTLP receiver port of the collector.

## [0.16.0] - 2020-01-13

### Added
Expand Down Expand Up @@ -45,6 +125,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- `Start()` is optional; use `Collect()` and `ForEach()` for Pull behavior
- `Start()` and `Stop()` accept Context. (#1378)
- The `Event` type is moved from the `otel/sdk/export/trace` package to the `otel/trace` API package. (#1452)
- Use consistent domain language in controller (1486)

### Removed

Expand Down Expand Up @@ -128,6 +209,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- The `MockSpan` and `MockTracer` types are removed from `go.opentelemetry.io/otel/oteltest`.
`Tracer` and `Span` from the same module should be used in their place instead. (#1306)
- `WorkerCount` option is removed from `go.opentelemetry.io/otel/exporters/otlp`. (#1350)
- Remove the following labels types: INT32, UINT32, UINT64 and FLOAT32. (#1314)

### Fixed

Expand Down Expand Up @@ -1028,7 +1110,9 @@ It contains api and sdk for trace and meter.
- CODEOWNERS file to track owners of this project.


[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v0.16.0...HEAD
[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v0.18.0...HEAD
[0.18.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v0.18.0
[0.17.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v0.17.0
[0.16.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v0.16.0
[0.15.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v0.15.0
[0.14.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v0.14.0
Expand Down
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#####################################################
#
# Learn about membership in OpenTelemetry community:
# https://github.com/open-telemetry/community/blob/master/community-membership.md
# https://github.com/open-telemetry/community/blob/main/community-membership.md
#
#
# Learn about CODEOWNERS file format:
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ See the [public meeting
notes](https://docs.google.com/document/d/1A63zSWX0x2CyCK_LoNhmQC4rqhLpYXJzXbEPDUQ2n6w/edit#heading=h.9tngw7jdwd6b)
for a summary description of past meetings. To request edit access,
join the meeting or get in touch on
[Gitter](https://gitter.im/open-telemetry/opentelemetry-go).
[Slack](https://cloud-native.slack.com/archives/C01NPAXACKT).

## Development

Expand Down Expand Up @@ -118,7 +118,7 @@ As with other OpenTelemetry clients, opentelemetry-go follows the
[opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification).

It's especially valuable to read through the [library
guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/library-guidelines.md).
guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/library-guidelines.md).

### Focus on Capabilities, Not Structure Compliance

Expand Down Expand Up @@ -371,4 +371,4 @@ Maintainers:
### Become an Approver or a Maintainer

See the [community membership document in OpenTelemetry community
repo](https://github.com/open-telemetry/community/blob/master/community-membership.md).
repo](https://github.com/open-telemetry/community/blob/main/community-membership.md).
Loading