Skip to content

Commit

Permalink
adfs: Implement PDH collector
Browse files Browse the repository at this point in the history
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
  • Loading branch information
jkroepke committed Sep 29, 2024
1 parent a1defad commit cbb9047
Show file tree
Hide file tree
Showing 8 changed files with 577 additions and 183 deletions.
52 changes: 26 additions & 26 deletions pkg/collector/adcs/adcs.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,19 @@ func (c *Collector) Close(_ *slog.Logger) error {
func (c *Collector) Build(_ *slog.Logger, _ *wmi.Client) error {
if utils.PDHEnabled() {
counters := []string{
RequestsPerSecond,
RequestProcessingTime,
RetrievalsPerSecond,
RetrievalProcessingTime,
FailedRequestsPerSecond,
IssuedRequestsPerSecond,
PendingRequestsPerSecond,
RequestCryptographicSigningTime,
RequestPolicyModuleProcessingTime,
ChallengeResponsesPerSecond,
ChallengeResponseProcessingTime,
SignedCertificateTimestampListsPerSecond,
SignedCertificateTimestampListProcessingTime,
requestsPerSecond,
requestProcessingTime,
retrievalsPerSecond,
retrievalProcessingTime,
failedRequestsPerSecond,
issuedRequestsPerSecond,
pendingRequestsPerSecond,
requestCryptographicSigningTime,
requestPolicyModuleProcessingTime,
challengeResponsesPerSecond,
challengeResponseProcessingTime,
signedCertificateTimestampListsPerSecond,
signedCertificateTimestampListProcessingTime,
}

var err error
Expand Down Expand Up @@ -317,79 +317,79 @@ func (c *Collector) collectPDH(ch chan<- prometheus.Metric) error {
ch <- prometheus.MustNewConstMetric(
c.requestsPerSecond,
prometheus.CounterValue,
adcsData[RequestsPerSecond].FirstValue,
adcsData[requestsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.requestProcessingTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[RequestProcessingTime].FirstValue),
utils.MilliSecToSec(adcsData[requestProcessingTime].FirstValue),
name,
)
ch <- prometheus.MustNewConstMetric(
c.retrievalsPerSecond,
prometheus.CounterValue,
adcsData[RetrievalsPerSecond].FirstValue,
adcsData[retrievalsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.retrievalProcessingTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[RetrievalProcessingTime].FirstValue),
utils.MilliSecToSec(adcsData[retrievalProcessingTime].FirstValue),
name,
)
ch <- prometheus.MustNewConstMetric(
c.failedRequestsPerSecond,
prometheus.CounterValue,
adcsData[FailedRequestsPerSecond].FirstValue,
adcsData[failedRequestsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.issuedRequestsPerSecond,
prometheus.CounterValue,
adcsData[IssuedRequestsPerSecond].FirstValue,
adcsData[issuedRequestsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.pendingRequestsPerSecond,
prometheus.CounterValue,
adcsData[PendingRequestsPerSecond].FirstValue,
adcsData[pendingRequestsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.requestCryptographicSigningTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[RequestCryptographicSigningTime].FirstValue),
utils.MilliSecToSec(adcsData[requestCryptographicSigningTime].FirstValue),
name,
)
ch <- prometheus.MustNewConstMetric(
c.requestPolicyModuleProcessingTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[RequestPolicyModuleProcessingTime].FirstValue),
utils.MilliSecToSec(adcsData[requestPolicyModuleProcessingTime].FirstValue),
name,
)
ch <- prometheus.MustNewConstMetric(
c.challengeResponsesPerSecond,
prometheus.CounterValue,
adcsData[ChallengeResponsesPerSecond].FirstValue,
adcsData[challengeResponsesPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.challengeResponseProcessingTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[ChallengeResponseProcessingTime].FirstValue),
utils.MilliSecToSec(adcsData[challengeResponseProcessingTime].FirstValue),
name,
)
ch <- prometheus.MustNewConstMetric(
c.signedCertificateTimestampListsPerSecond,
prometheus.CounterValue,
adcsData[SignedCertificateTimestampListsPerSecond].FirstValue,
adcsData[signedCertificateTimestampListsPerSecond].FirstValue,
name,
)
ch <- prometheus.MustNewConstMetric(
c.signedCertificateTimestampListProcessingTime,
prometheus.GaugeValue,
utils.MilliSecToSec(adcsData[SignedCertificateTimestampListProcessingTime].FirstValue),
utils.MilliSecToSec(adcsData[signedCertificateTimestampListProcessingTime].FirstValue),
name,
)
}
Expand Down
26 changes: 13 additions & 13 deletions pkg/collector/adcs/const.go
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package adcs

const (
RequestsPerSecond = "Requests/sec"
RequestProcessingTime = "Request processing time (ms)"
RetrievalsPerSecond = "Retrievals/sec"
RetrievalProcessingTime = "Retrieval processing time (ms)"
FailedRequestsPerSecond = "Failed Requests/sec"
IssuedRequestsPerSecond = "Issued Requests/sec"
PendingRequestsPerSecond = "Pending Requests/sec"
RequestCryptographicSigningTime = "Request cryptographic signing time (ms)"
RequestPolicyModuleProcessingTime = "Request policy module processing time (ms)"
ChallengeResponsesPerSecond = "Challenge Responses/sec"
ChallengeResponseProcessingTime = "Challenge Response processing time (ms)"
SignedCertificateTimestampListsPerSecond = "Signed Certificate Timestamp Lists/sec"
SignedCertificateTimestampListProcessingTime = "Signed Certificate Timestamp List processing time (ms)"
challengeResponseProcessingTime = "Challenge Response processing time (ms)"
challengeResponsesPerSecond = "Challenge Responses/sec"
failedRequestsPerSecond = "Failed Requests/sec"
issuedRequestsPerSecond = "Issued Requests/sec"
pendingRequestsPerSecond = "Pending Requests/sec"
requestCryptographicSigningTime = "Request cryptographic signing time (ms)"
requestPolicyModuleProcessingTime = "Request policy module processing time (ms)"
requestProcessingTime = "Request processing time (ms)"
requestsPerSecond = "Requests/sec"
retrievalProcessingTime = "Retrieval processing time (ms)"
retrievalsPerSecond = "Retrievals/sec"
signedCertificateTimestampListProcessingTime = "Signed Certificate Timestamp List processing time (ms)"
signedCertificateTimestampListsPerSecond = "Signed Certificate Timestamp Lists/sec"
)

type perflibADCS struct {
Expand Down
Loading

0 comments on commit cbb9047

Please sign in to comment.