Files
vault/audit/sink_metric_labeler.go
Peter Wilson b0616065c5 Audit: logging and improvements (#28056)
* Add trace logging to context creation during log req/resp. Improve context sensitivity of sink nodes (file, socket), update eventlogger to include context info in error

* changelog

* Queue for the lock but check context immediately

* fix race in test
2024-08-12 18:36:13 +01:00

33 lines
981 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package audit
import (
"github.com/hashicorp/eventlogger"
"github.com/hashicorp/vault/internal/observability/event"
)
var _ event.Labeler = (*metricLabelerAuditSink)(nil)
var (
metricLabelAuditSinkSuccess = []string{"audit", "sink", "success"}
metricLabelAuditSinkFailure = []string{"audit", "sink", "failure"}
)
// metricLabelerAuditSink can be used to provide labels for the success or failure
// of a sink node used for a normal audit device.
type metricLabelerAuditSink struct{}
// Labels provides the success and failure labels for an audit sink, based on the error supplied.
// Success: 'vault.audit.sink.success'
// Failure: 'vault.audit.sink.failure'
func (m metricLabelerAuditSink) Labels(_ *eventlogger.Event, err error) []string {
if err != nil {
// NOTE: a cancelled context would still result in an error.
return metricLabelAuditSinkFailure
}
return metricLabelAuditSinkSuccess
}