Add recordSuccessMetric utility
Summary: Wraps a future and records the success rate. This will be stored along with the sessionId and the userId, so we can drill down and get the success rate at different levels. Reviewed By: passy Differential Revision: D13635049 fbshipit-source-id: 4e0e6bdc0f9b76b08cf37c5d9fe87909f7338534
This commit is contained in:
committed by
Facebook Github Bot
parent
4a5dae8f4f
commit
90de3c6868
@@ -17,6 +17,7 @@ import {Single} from 'rsocket-flowable';
|
||||
import Client from './Client.js';
|
||||
import type {UninitializedClient} from './UninitializedClient';
|
||||
import {RecurringError} from './utils/errors';
|
||||
import {recordSuccessMetric} from './utils/metrics';
|
||||
|
||||
const EventEmitter = (require('events'): any);
|
||||
const invariant = require('invariant');
|
||||
@@ -177,8 +178,15 @@ export default class Server extends EventEmitter {
|
||||
const {csr, destination} = json;
|
||||
return new Single(subscriber => {
|
||||
subscriber.onSubscribe();
|
||||
this.certificateProvider
|
||||
.processCertificateSigningRequest(csr, clientData.os, destination)
|
||||
recordSuccessMetric(
|
||||
this.certificateProvider.processCertificateSigningRequest(
|
||||
csr,
|
||||
clientData.os,
|
||||
destination,
|
||||
),
|
||||
'processCertificateSigningRequest',
|
||||
this.logger,
|
||||
)
|
||||
.then(result => {
|
||||
subscriber.onComplete({
|
||||
data: JSON.stringify({
|
||||
@@ -190,20 +198,10 @@ export default class Server extends EventEmitter {
|
||||
client,
|
||||
deviceId: result.deviceId,
|
||||
});
|
||||
this.logger.track(
|
||||
'success-rate',
|
||||
'processCertificateSigningRequest',
|
||||
1,
|
||||
);
|
||||
})
|
||||
.catch(e => {
|
||||
subscriber.onError(e);
|
||||
this.emit('client-setup-error', {client, error: e});
|
||||
this.logger.track(
|
||||
'success-rate',
|
||||
'processCertificateSigningRequest',
|
||||
0,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user