Skip to content

Commit d8482ce

Browse files
authored
Set otel error handler in main_windows.go (#1025)
1 parent 97c2166 commit d8482ce

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

cmd/google_cloud_ops_agent_diagnostics/main_windows.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"os"
2424

2525
"github.com/GoogleCloudPlatform/ops-agent/internal/self_metrics"
26+
"go.opentelemetry.io/otel"
2627
"golang.org/x/sys/windows/svc"
2728
"golang.org/x/sys/windows/svc/debug"
2829
"golang.org/x/sys/windows/svc/eventlog"
@@ -41,6 +42,10 @@ type service struct {
4142
userConf string
4243
}
4344

45+
func (s *service) Handle(err error) {
46+
s.log.Error(eventID, fmt.Sprintf("error collecting metrics: %v", err))
47+
}
48+
4449
func run() error {
4550
name := "google-cloud-ops-agent-diagnostics"
4651
elog, err := eventlog.Open(name)
@@ -100,6 +105,9 @@ func (s *service) Execute(args []string, r <-chan svc.ChangeRequest, changes cha
100105
}
101106
}()
102107

108+
// Set otel error handler
109+
otel.SetErrorHandler(s)
110+
103111
err = self_metrics.CollectOpsAgentSelfMetrics(&userUc, &mergedUc, death)
104112
if err != nil {
105113
s.log.Error(eventID, fmt.Sprintf("failed to collect ops agent self metrics: %v", err))

0 commit comments

Comments
 (0)