Add some timing histogram stats (#2482)
Previously our gRPC client code called the wrong function, enabling server-side instead of client-side histograms. Also, add a timing stat for the generate / store combination in OCSP Updater.
This commit is contained in:
parent
5aa78a578c
commit
d6ba7fcba9
|
|
@ -488,19 +488,20 @@ func (updater *OCSPUpdater) generateOCSPResponses(ctx context.Context, statuses
|
||||||
wait := func() {
|
wait := func() {
|
||||||
sem <- 1 // Block until there's capacity.
|
sem <- 1 // Block until there's capacity.
|
||||||
}
|
}
|
||||||
done := func() {
|
done := func(start time.Time) {
|
||||||
<-sem // Indicate there's more capacity.
|
<-sem // Indicate there's more capacity.
|
||||||
|
stats.TimingDuration("GenerateAndStore", time.Since(start))
|
||||||
}
|
}
|
||||||
|
|
||||||
work := func(status core.CertificateStatus) {
|
work := func(status core.CertificateStatus) {
|
||||||
defer done()
|
defer done(updater.clk.Now())
|
||||||
meta, err := updater.generateResponse(ctx, status)
|
meta, err := updater.generateResponse(ctx, status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
updater.log.AuditErr(fmt.Sprintf("Failed to generate OCSP response: %s", err))
|
updater.log.AuditErr(fmt.Sprintf("Failed to generate OCSP response: %s", err))
|
||||||
stats.Inc("Errors.ResponseGeneration", 1)
|
stats.Inc("Errors.ResponseGeneration", 1)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
updater.stats.Inc("GeneratedResponses", 1)
|
stats.Inc("GeneratedResponses", 1)
|
||||||
err = updater.storeResponse(meta)
|
err = updater.storeResponse(meta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
updater.log.AuditErr(fmt.Sprintf("Failed to store OCSP response: %s", err))
|
updater.log.AuditErr(fmt.Sprintf("Failed to store OCSP response: %s", err))
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ func ClientSetup(c *cmd.GRPCClientConfig, tls *tls.Config, stats metrics.Scope)
|
||||||
return nil, errNilTLS
|
return nil, errNilTLS
|
||||||
}
|
}
|
||||||
|
|
||||||
grpc_prometheus.EnableHandlingTimeHistogram()
|
grpc_prometheus.EnableClientHandlingTimeHistogram()
|
||||||
|
|
||||||
ci := clientInterceptor{stats.NewScope("gRPCClient"), clock.Default(), c.Timeout.Duration}
|
ci := clientInterceptor{stats.NewScope("gRPCClient"), clock.Default(), c.Timeout.Duration}
|
||||||
creds := bcreds.NewClientCredentials(tls.RootCAs, tls.Certificates)
|
creds := bcreds.NewClientCredentials(tls.RootCAs, tls.Certificates)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue