SUPPORT-8884: add loggers

This commit is contained in:
Emir Suleimanov 2025-01-28 11:14:15 +03:00
parent 6f687aaf84
commit 4d1d83336f

View file

@ -161,6 +161,7 @@ public class EsiaAuthService {
String esiaAccessTokenStr = null;
String prnOid = null;
Long expiresIn = null;
long signSecret = 0, requestAccessToken = 0, verifySecret = 0;
try {
String clientId = esiaConfig.getClientId();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
@ -178,7 +179,9 @@ public class EsiaAuthService {
parameters.put("redirect_uri", redirectUrl);
parameters.put("code", esiaAuthCode);
long startTime = System.currentTimeMillis();
String clientSecret = signMap(parameters);
signSecret = System.currentTimeMillis() - startTime;
String authUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaTokenUrl();
String postBody = new FormUrlencoded()
.setParameter("client_id", clientId)
@ -192,6 +195,7 @@ public class EsiaAuthService {
.setParameter("token_type", "Bearer")
.setParameter("client_certificate_hash", esiaConfig.getClientCertHash())
.toFormUrlencodedString();
startTime = System.currentTimeMillis();
HttpRequest postReq = HttpRequest.newBuilder(URI.create(authUrl))
.header(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(postBody))
@ -201,6 +205,7 @@ public class EsiaAuthService {
.connectTimeout(Duration.ofSeconds(esiaConfig.getConnectionTimeout()))
.build()
.send(postReq, HttpResponse.BodyHandlers.ofString());
requestAccessToken = System.currentTimeMillis() - startTime;
String responseString = postResp.body();
EsiaTokenResponse tokenResponse = objectMapper.readValue(responseString,
EsiaTokenResponse.class
@ -212,7 +217,9 @@ public class EsiaAuthService {
throw new IllegalStateException("Esia response error. " + errMsg);
}
esiaAccessTokenStr = tokenResponse.getAccess_token();
startTime = System.currentTimeMillis();
String verifyResult = verifyToken(esiaAccessTokenStr);
verifySecret = System.currentTimeMillis() - startTime;
if (verifyResult != null) {
throw new EsiaException(verifyResult);
}
@ -226,6 +233,10 @@ public class EsiaAuthService {
catch (Exception e) {
throw new EsiaException(e);
}
finally {
LOGGER.info("Thread {}: SignSecret: {}ms RequestAccessToken: {}ms VerifySecret: {}ms",
Thread.currentThread().getId(), signSecret, requestAccessToken, verifySecret);
}
try {
Response ervuIdResponse = getErvuIdResponse(esiaAccessTokenStr);
createTokenAndAddCookie(response, prnOid, ervuIdResponse.getErvuId(), expiresIn);
@ -362,17 +373,26 @@ public class EsiaAuthService {
}
public Response getErvuIdResponse(String accessToken) {
long requestPersonData = 0, requestIdERVU = 0;
try {
long startTime = System.currentTimeMillis();
PersonModel personModel = personalDataService.getPersonModel(accessToken);
requestPersonData = System.currentTimeMillis() - startTime;
Person person = copyToPerson(personModel);
startTime = System.currentTimeMillis();
String kafkaResponse = replyingKafkaService.sendMessageAndGetReply(requestTopic,
requestReplyTopic, objectMapper.writeValueAsString(person)
);
requestIdERVU = System.currentTimeMillis() - startTime;
return objectMapper.readValue(kafkaResponse, Response.class);
}
catch (Exception e) {
throw new EsiaException(e);
}
finally {
LOGGER.info("Thread {}: RequestPersonData: {}ms RequestIdERVU: {}ms",
Thread.currentThread().getId(), requestPersonData, requestIdERVU);
}
}
private Person copyToPerson(PersonModel personModel) {