Boulder can provide various activity and performance metrics using StatsD if a server address is provided in the Boulder configuration file. This configuration object should look something like: ``` "statsd": { "server": "localhost:8125", "prefix": "Boulder" } ``` The prefix will be prepended to all sent metrics to differentiate different sets of Boulder instances submitting metrics to the same StatsD server. ## List of collected metrics This list is split up into metric topics with the names of the clients that submit these metrics. * Logging (`cmd/boulder-*` + `cmd/ocsp-responder` + `cmd/ocsp-updater` + `cmd/admin-revoker` + `cmd/activity-monitor` + `cmd/expiration-mailer` + `cmd/external-cert-importer`) ``` [counter] Boulder.Logging.Audit [counter] Boulder.Logging.Alert [counter] Boulder.Logging.Crit [counter] Boulder.Logging.Debug [counter] Boulder.Logging.Emerg [counter] Boulder.Logging.Err [counter] Boulder.Logging.Info [counter] Boulder.Logging.Warning ``` * RPC activity (`cmd/activity-monitor`) ``` [counter] Boulder.RPC.Rate.Success [counter] Boulder.RPC.Rate.Error [counter] Boulder.RPC.Traffic [counter] Boulder.RPC.Timeouts [gauge] Boulder.RPC.CallsWaiting [timing] Boulder.RPC.Latency.{RPC method name} ``` * HTTP activity (`cmd/boulder-wfe` + `cmd/ocsp-responder`) ``` [counter] Boulder.{WFE/OCSP}.HTTP.Rate [gauge] Boulder.{WFE/OCSP}.HTTP.ConnectionsInFlight [gauge] Boulder.{WFE/OCSP}.HTTP.OpenConnections [timing] Boulder.{WFE/OCSP}.HTTP.ResponseTime.{http endpoint} [timing] Boulder.{WFE/OCSP}.HTTP.ResponseTime.Failed ``` * HTTP errors (`cmd/boulder-wfe`) ``` [counter] Boulder.WFE.HTTP.ErrorCodes.{3 digit code} [counter] Boulder.WFE.HTTP.ProblemTypes.{problem type} ``` * DNS activity (`cmd/boulder-va` + `cmd/boulder-ra`) ``` (VA) [counter] Boulder.VA.DNS.Rate [timing] Boulder.VA.DNS.RTT.A [timing] Boulder.VA.DNS.RTT.CAA [timing] Boulder.VA.DNS.RTT.CNAME [timing] Boulder.VA.DNS.RTT.TXT (RA) [counter] Boulder.RA.DNS.Rate [timing] Boulder.RA.DNS.RTT.MX ``` * Validation attempts (`cmd/boulder-va`) ``` [timing] Boulder.VA.Validations.{challenge type}.{challenge status} ``` * Registration authority activity (`cmd/boulder-ra`) ``` [counter] Boulder.RA.NewRegistrations [counter] Boulder.RA.NewPendingAuthorizations [counter] Boulder.RA.NewCertificates [counter] Boulder.RA.UpdatedRegistrations [counter] Boulder.RA.UpdatedPendingAuthorizations [counter] Boulder.RA.RevokedCertificates [counter] Boulder.RA.FinalizedAuthorizations ``` * Client performance profiling (`cmd/boulder-*`) ``` [gauge] Boulder.{cmd-name}.Gostats.Goroutines [gauge] Boulder.{cmd-name}.Gostats.Heap.Alloc [gauge] Boulder.{cmd-name}.Gostats.Heap.Objects [gauge] Boulder.{cmd-name}.Gostats.Heap.Idle [gauge] Boulder.{cmd-name}.Gostats.Heap.InUse [gauge] Boulder.{cmd-name}.Gostats.Heap.Released [gauge] Boulder.{cmd-name}.Gostats.Gc.NextAt [gauge] Boulder.{cmd-name}.Gostats.Gc.LastPauseLatency [timing] Boulder.{cmd-name}.Gostats.Gc.PauseAvg ``` * External certificate store loading (`cmd/external-cert-importer`) ``` [counter] Boulder.ExistingCert.Certs.Imported [counter] Boulder.ExistingCert.Domains.Imported [counter] Boulder.ExistingCert.Removed [timing] Boulder.ExistingCert.Certs.ImportLatency [timing] Boulder.ExistingCert.Domains.ImportLatency [timing] Boulder.ExistingCert.Certs.DeleteLatency [timing] Boulder.ExistingCert.Domains.DeleteLatency ``` * OCSP response updating (`cmd/ocsp-updater`) ``` [counter] Boulder.OCSP.Updates.Processed [counter] Boulder.OCSP.Updates.Failed [counter] Boulder.OCSP.Updates.BatchesProcessed [timing] Boulder.OCSP.Updates.UpdateLatency [timing] Boulder.OCSP.Updates.BatchLatency ``` * Certificate expiration mailing (`cmd/expiration-mailer`) ``` [counter] Boulder.Mailer.Expiration.Sent [counter] Boulder.Mailer.Expiration.Errors.SendingNag.TemplateFailure [counter] Boulder.Mailer.Expiration.Errors.SendingNag.SendFailure [counter] Boulder.Mailer.Expiration.Errors.GetRegistration [counter] Boulder.Mailer.Expiration.Errors.ParseCertificate [counter] Boulder.Mailer.Expiration.Errors.UpdateCertificateStatus [timing] Boulder.Mailer.Expiration.SendLatency [timing] Boulder.Mailer.Expiration.ProcessingCertificatesLatency ```