Skip to content

Commit

Permalink
REfactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
Shota Jolbordi committed Aug 7, 2023
1 parent a795140 commit 84f4a55
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import io.iohk.atala.mercury.model.*
import io.iohk.atala.mercury.model.error.*
import io.iohk.atala.resolvers.DIDResolver
import io.iohk.atala.shared.utils.aspects.CustomMetricsAspect
import io.iohk.atala.shared.utils.DurationOps.toMetricsSeconds
import zio.*
import zio.metrics.*
object ConnectBackgroundJobs {
Expand Down Expand Up @@ -98,11 +99,11 @@ object ConnectBackgroundJobs {
resp <- MessagingService.send(request.makeMessage).provideSomeLayer(didCommAgent) @@ Metric
.gauge("connection_flow_invitee_send_connection_request_ms_gauge")
.tagged("connectionId", record.id.toString)
.trackDurationWith(_.toNanos.toDouble)
.trackDurationWith(_.toMetricsSeconds)
connectionService <- ZIO.service[ConnectionService]
_ <- {
if (resp.status >= 200 && resp.status < 300)
connectionService.markConnectionRequestSent(id)
connectionService.markConnectionRequestSent(id) // TODO: this one throws an error
@@ InviteeConnectionRequestMsgSuccess
@@ CustomMetricsAspect.endRecordingTime(
s"${record.id}_invitee_pending_to_req_sent",
Expand All @@ -127,7 +128,7 @@ object ConnectBackgroundJobs {
@@ Metric
.gauge("connection_flow_invitee_process_connection_record_ms_gauge")
.tagged("connectionId", record.id.toString)
.trackDurationWith(_.toMillis.toDouble)
.trackDurationWith(_.toMetricsSeconds)

case ConnectionRecord(
id,
Expand All @@ -149,7 +150,7 @@ object ConnectBackgroundJobs {
resp <- MessagingService.send(response.makeMessage).provideSomeLayer(didCommAgent) @@ Metric
.gauge("connection_flow_inviter_send_connection_response_ms_gauge")
.tagged("connectionId", record.id.toString)
.trackDurationWith(_.toNanos.toDouble)
.trackDurationWith(_.toMetricsSeconds)
connectionService <- ZIO.service[ConnectionService]
_ <- {
if (resp.status >= 200 && resp.status < 300)
Expand All @@ -165,7 +166,7 @@ object ConnectBackgroundJobs {
@@ Metric
.gauge("connection_flow_inviter_process_connection_record_ms_gauge")
.tagged("connectionId", record.id.toString)
.trackDurationWith(_.toMillis.toDouble)
.trackDurationWith(_.toMetricsSeconds)

case _ => ZIO.unit
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package io.iohk.atala.shared.utils

import java.time.Duration

object DurationOps {

extension (d: Duration) def toMetricsSeconds: Double = d.toMillis.toDouble / 1000.0

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import zio.*
import scala.collection.mutable.{Map => MutMap}
import zio.metrics.*
import java.time.{Instant, Clock, Duration}
import io.iohk.atala.shared.utils.DurationOps.toMetricsSeconds

object CustomMetricsAspect {
private val checkpoints: MutMap[String, Instant] = MutMap.empty
Expand Down Expand Up @@ -36,7 +37,7 @@ object CustomMetricsAspect {
end <- now
maybeStart = checkpoints.get(key)
metricsZio = maybeStart.map(start => Duration.between(start, end)).fold(ZIO.unit) { duration =>
ZIO.succeed(duration.toMillis.toDouble / 1000.0) @@ Metric.gauge(metricsKey).tagged(tags)
ZIO.succeed(duration.toMetricsSeconds) @@ Metric.gauge(metricsKey).tagged(tags)
}
_ <- metricsZio
} yield res
Expand Down

0 comments on commit 84f4a55

Please sign in to comment.