mirror of https://github.com/docker/cli.git
telemetry: fix early meterprovider shutdown
In 4b5a196fee
, we changed the CLI global
meter provider shutdown in order to handle any error returned by the
metric export.
Unfortunately, we dropped a `defer` during the fix, which
causes the meter provider to be immediately shutdown after being created
and metrics to not be collected/exporter.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
This commit is contained in:
parent
a5fb752ecf
commit
1355d7e9f8
|
@ -358,9 +358,11 @@ func runDocker(ctx context.Context, dockerCli *command.DockerCli) error {
|
||||||
|
|
||||||
mp := dockerCli.MeterProvider()
|
mp := dockerCli.MeterProvider()
|
||||||
if mp, ok := mp.(command.MeterProvider); ok {
|
if mp, ok := mp.(command.MeterProvider); ok {
|
||||||
if err := mp.Shutdown(ctx); err != nil {
|
defer func() {
|
||||||
otel.Handle(err)
|
if err := mp.Shutdown(ctx); err != nil {
|
||||||
}
|
otel.Handle(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprint(dockerCli.Err(), "Warning: Unexpected OTEL error, metrics may not be flushed")
|
fmt.Fprint(dockerCli.Err(), "Warning: Unexpected OTEL error, metrics may not be flushed")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue