File tree Expand file tree Collapse file tree 7 files changed +1772
-0
lines changed Expand file tree Collapse file tree 7 files changed +1772
-0
lines changed Original file line number Diff line number Diff line change
1
+ FROM golang:1.15-alpine AS build-stage
2
+
3
+ RUN apk add --update make
4
+ RUN mkdir -p /go/src/github.com/hypertrace/collector
5
+ WORKDIR /go/src/github.com/hypertrace/collector
6
+
7
+ COPY . /go/src/github.com/hypertrace/collector
8
+
9
+ ARG GIT_COMMIT
10
+ ARG VERSION
11
+
12
+ RUN make build
13
+
14
+ FROM alpine
15
+ # Following folder conventions described in https://unix.stackexchange.com/a/11552
16
+ RUN apk --update add ca-certificates
17
+ RUN mkdir /usr/local/bin/hypertrace
18
+ WORKDIR /usr/local/bin/hypertrace
19
+
20
+ COPY --from=build-stage /go/src/github.com/hypertrace/collector/collector .
21
+ COPY default-config.yml /etc/opt/hypertrace/config.yml
22
+
23
+ EXPOSE 9411
24
+
25
+ ENTRYPOINT ./collector --config /etc/opt/hypertrace/config.yml
Original file line number Diff line number Diff line change
1
+ BIN_NAME =xfiles
2
+
3
+ VERSION ?= dev
4
+ GIT_HASH ?=$(shell git rev-parse HEAD)
5
+ IMAGE_NAME := "hypertrace/collector"
6
+
7
+ build :
8
+ go build -ldflags " -w -X main.GitHash=${GIT_HASH} -X main.Version=${VERSION} " ./cmd/collector
9
+
10
+ run :
11
+ go run cmd/collector/main.go --config ./config.yml
12
+
13
+ package :
14
+ docker build --build-arg VERSION=${VERSION} --build-arg GIT_COMMIT=$(GIT_COMMIT ) -t $(IMAGE_NAME ) :${VERSION} -t $(IMAGE_NAME ) :latest .
Original file line number Diff line number Diff line change
1
+ package main
2
+
3
+ import (
4
+ "fmt"
5
+ "log"
6
+
7
+ "go.opentelemetry.io/collector/component"
8
+ "go.opentelemetry.io/collector/component/componenterror"
9
+ "go.opentelemetry.io/collector/service"
10
+ "go.opentelemetry.io/collector/service/defaultcomponents"
11
+ )
12
+
13
+ func main () {
14
+ factories , err := components ()
15
+ if err != nil {
16
+ log .Fatalf ("failed to build default components: %v" , err )
17
+ }
18
+
19
+ info := component.ApplicationStartInfo {
20
+ ExeName : "collector" ,
21
+ LongName : "Hypertrace Collector" ,
22
+ Version : Version ,
23
+ GitHash : GitHash ,
24
+ }
25
+
26
+ if err := run (service.Parameters {ApplicationStartInfo : info , Factories : factories }); err != nil {
27
+ log .Fatal (err )
28
+ }
29
+ }
30
+
31
+ func components () (component.Factories , error ) {
32
+ var errs []error
33
+ factories , err := defaultcomponents .Components ()
34
+ if err != nil {
35
+ return component.Factories {}, err
36
+ }
37
+
38
+ return factories , componenterror .CombineErrors (errs )
39
+ }
40
+
41
+ func run (params service.Parameters ) error {
42
+ app , err := service .New (params )
43
+ if err != nil {
44
+ return fmt .Errorf ("failed to construct the application: %w" , err )
45
+ }
46
+
47
+ err = app .Run ()
48
+ if err != nil {
49
+ return fmt .Errorf ("application run finished with error: %w" , err )
50
+ }
51
+
52
+ return nil
53
+ }
Original file line number Diff line number Diff line change
1
+ package main
2
+
3
+ // GitHash that was compiled. This will be filled in by the compiler.
4
+ // Version number that is being run at the moment.
5
+ var (
6
+ GitHash string
7
+ Version string
8
+ )
Original file line number Diff line number Diff line change
1
+ extensions :
2
+ health_check :
3
+ pprof :
4
+ endpoint : 0.0.0.0:1777
5
+ zpages :
6
+ endpoint : 0.0.0.0:55679
7
+
8
+ receivers :
9
+ otlp :
10
+ protocols :
11
+ grpc :
12
+ http :
13
+
14
+ opencensus :
15
+
16
+ # Collect own metrics
17
+ prometheus :
18
+ config :
19
+ scrape_configs :
20
+ - job_name : " otel-collector"
21
+ scrape_interval : 10s
22
+ static_configs :
23
+ - targets : ["0.0.0.0:8888"]
24
+
25
+ jaeger :
26
+ protocols :
27
+ grpc :
28
+ thrift_binary :
29
+ thrift_compact :
30
+ thrift_http :
31
+
32
+ zipkin :
33
+
34
+ processors :
35
+ batch :
36
+
37
+ exporters :
38
+ logging :
39
+ logLevel : debug
40
+
41
+ service :
42
+ pipelines :
43
+ traces :
44
+ receivers : [otlp, opencensus, jaeger, zipkin]
45
+ processors : [batch]
46
+ exporters : [logging]
47
+
48
+ metrics :
49
+ receivers : [otlp, opencensus, prometheus]
50
+ processors : [batch]
51
+ exporters : [logging]
52
+
53
+ extensions : [health_check, pprof, zpages]
Original file line number Diff line number Diff line change
1
+ module github.com/hypertrace/collector
2
+
3
+ go 1.15
4
+
5
+ require go.opentelemetry.io/collector v0.14.0
You can’t perform that action at this time.
0 commit comments