Skip to content

Commit cbe3fd6

Browse files
authored
Noaa weather and telemetry (#102)
* Update vendor * Drop streaming from routeservice to improve context propagation * Add noaa weather * Improve span context propagation * Improve otel handling * Format hour string
1 parent 9488bfa commit cbe3fd6

File tree

477 files changed

+93456
-2185
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

477 files changed

+93456
-2185
lines changed

cmd/app/modules.go

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import (
1313
"github.com/pkg/errors"
1414
"github.com/prometheus/client_golang/prometheus"
1515
"github.com/prometheus/client_golang/prometheus/collectors"
16-
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
17-
"google.golang.org/grpc"
1816
"k8s.io/apimachinery/pkg/runtime"
1917
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
2018
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
@@ -142,6 +140,7 @@ func (a *App) initHookReceiver() (services.Service, error) {
142140

143141
func (a *App) initWeather() (services.Service, error) {
144142
if a.cfg.Weather.APIKey == "" {
143+
a.logger.Info("Weather API key is not set, skipping weather module initialization")
145144
return services.NewIdleService(nil, nil), nil
146145
}
147146

@@ -285,16 +284,6 @@ func (a *App) initServer() (services.Service, error) {
285284
a.cfg.Server.DisableRequestSuccessLog = false
286285
// a.cfg.Server.Log = a.logger
287286

288-
a.cfg.Server.GRPCStreamMiddleware = []grpc.StreamServerInterceptor{
289-
otelgrpc.StreamServerInterceptor(),
290-
}
291-
292-
a.cfg.Server.GRPCMiddleware = []grpc.UnaryServerInterceptor{
293-
otelgrpc.UnaryServerInterceptor(),
294-
}
295-
296-
/* prometheus.MustRegister(&a.cfg) */
297-
298287
if a.cfg.EnableGoRuntimeMetrics {
299288
// unregister default Go collector
300289
prometheus.Unregister(collectors.NewGoCollector())

cmd/main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,15 @@ func main() {
8888
logger = slog.New(handler)
8989
)
9090

91+
serviceName := "iotcontroller"
92+
if cfg.Target != "" {
93+
serviceName = fmt.Sprintf("%s-%s", serviceName, cfg.Target)
94+
}
95+
9196
shutdownTracer, err := tracing.InstallOpenTelemetryTracer(
9297
&cfg.Tracing,
9398
logger,
94-
"iotcontroller",
99+
serviceName,
95100
versionString(),
96101
)
97102
if err != nil {

go.mod

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ require (
1010
github.com/gogo/status v1.1.1
1111
github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75
1212
github.com/gorilla/mux v1.8.1
13-
github.com/grafana/dskit v0.0.0-20250107142522-441a90acd4e5
13+
github.com/grafana/dskit v0.0.0-20250616075643-3b7e2f87d946
1414
github.com/grafana/e2e v0.1.2-0.20240118170847-db90b84177fc
15+
github.com/icodealot/noaa v0.0.2
1516
github.com/jedib0t/go-pretty/v6 v6.6.7
17+
github.com/nathan-osman/go-sunrise v1.1.0
1618
github.com/onsi/ginkgo/v2 v2.23.4
1719
github.com/onsi/gomega v1.37.0
1820
github.com/pkg/errors v0.9.1
@@ -37,7 +39,7 @@ require (
3739
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
3840
github.com/beorn7/perks v1.0.1 // indirect
3941
github.com/blang/semver/v4 v4.0.0 // indirect
40-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
42+
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
4143
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4244
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
4345
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
@@ -54,7 +56,7 @@ require (
5456
github.com/go-openapi/jsonreference v0.21.0 // indirect
5557
github.com/go-openapi/swag v0.23.0 // indirect
5658
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
57-
github.com/gogo/googleapis v1.1.0 // indirect
59+
github.com/gogo/googleapis v1.4.1 // indirect
5860
github.com/gogo/protobuf v1.3.2 // indirect
5961
github.com/golang/protobuf v1.5.4 // indirect
6062
github.com/google/btree v1.1.3 // indirect
@@ -63,9 +65,11 @@ require (
6365
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect
6466
github.com/google/uuid v1.6.0 // indirect
6567
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
68+
github.com/grafana/otel-profiling-go v0.5.1 // indirect
6669
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect
6770
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
68-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect
71+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
72+
github.com/jaegertracing/jaeger-idl v0.5.0 // indirect
6973
github.com/josharian/intern v1.0.0 // indirect
7074
github.com/jpillora/backoff v1.0.0 // indirect
7175
github.com/json-iterator/go v1.1.12 // indirect
@@ -85,28 +89,45 @@ require (
8589
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
8690
github.com/prometheus/client_model v0.6.2 // indirect
8791
github.com/prometheus/exporter-toolkit v0.13.2 // indirect
88-
github.com/prometheus/procfs v0.15.1 // indirect
92+
github.com/prometheus/procfs v0.16.1 // indirect
8993
github.com/prometheus/prometheus v0.301.0 // indirect
9094
github.com/rivo/uniseg v0.4.7 // indirect
9195
github.com/rogpeppe/go-internal v1.14.1 // indirect
9296
github.com/rs/xid v1.5.0 // indirect
93-
github.com/sercand/kuberesolver/v5 v5.1.1 // indirect
97+
github.com/sercand/kuberesolver/v6 v6.0.0 // indirect
9498
github.com/spf13/pflag v1.0.6 // indirect
9599
github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect
96100
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
97101
github.com/x448/float16 v0.8.4 // indirect
98102
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
99-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect
100-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect
103+
go.opentelemetry.io/contrib/bridges/prometheus v0.61.0 // indirect
104+
go.opentelemetry.io/contrib/exporters/autoexport v0.61.0 // indirect
105+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 // indirect
106+
go.opentelemetry.io/contrib/propagators/jaeger v1.35.0 // indirect
107+
go.opentelemetry.io/contrib/samplers/jaegerremote v0.30.0 // indirect
108+
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
109+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 // indirect
110+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 // indirect
111+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 // indirect
112+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.36.0 // indirect
113+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 // indirect
114+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0 // indirect
115+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.36.0 // indirect
116+
go.opentelemetry.io/otel/exporters/prometheus v0.58.0 // indirect
117+
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.12.2 // indirect
118+
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.36.0 // indirect
119+
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.36.0 // indirect
120+
go.opentelemetry.io/otel/log v0.12.2 // indirect
101121
go.opentelemetry.io/otel/metric v1.36.0 // indirect
102122
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
103-
go.opentelemetry.io/proto/otlp v1.4.0 // indirect
123+
go.opentelemetry.io/otel/sdk/log v0.12.2 // indirect
124+
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
125+
go.opentelemetry.io/proto/otlp v1.6.0 // indirect
104126
go.uber.org/atomic v1.11.0 // indirect
105127
go.uber.org/automaxprocs v1.6.0 // indirect
106128
go.uber.org/multierr v1.11.0 // indirect
107129
go.uber.org/zap v1.27.0 // indirect
108130
golang.org/x/crypto v0.38.0 // indirect
109-
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
110131
golang.org/x/net v0.40.0 // indirect
111132
golang.org/x/oauth2 v0.30.0 // indirect
112133
golang.org/x/sync v0.14.0 // indirect
@@ -116,7 +137,7 @@ require (
116137
golang.org/x/time v0.10.0 // indirect
117138
golang.org/x/tools v0.31.0 // indirect
118139
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
119-
google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect
140+
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect
120141
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
121142
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
122143
gopkg.in/inf.v0 v0.9.1 // indirect

0 commit comments

Comments
 (0)