Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update smetrics to 1.2.0, cats-helper to 3.5.0 #207

Merged
merged 3 commits into from
Jun 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import sbt.*
object Dependencies {

val scalatest = "org.scalatest" %% "scalatest" % "3.2.13"
val `cats-helper` = "com.evolutiongaming" %% "cats-helper" % "3.2.0"
val smetrics = "com.evolutiongaming" %% "smetrics" % "1.0.5"
val `cats-helper` = "com.evolutiongaming" %% "cats-helper" % "3.5.0"
val smetrics = "com.evolutiongaming" %% "smetrics" % "1.3.0"
val `kind-projector` = "org.typelevel" % "kind-projector" % "0.13.2"
val betterMonadicFor = "com.olegpy" %% "better-monadic-for" % "0.3.1"

Expand Down
16 changes: 13 additions & 3 deletions src/main/scala/com/evolution/scache/Cache.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import cats.syntax.all.*
import cats.{Functor, Hash, Monad, MonadThrow, Monoid, Parallel, ~>}
import cats.kernel.CommutativeMonoid
import com.evolutiongaming.catshelper.CatsHelper.*
import com.evolutiongaming.catshelper.Runtime
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.{MeasureDuration, Runtime}
import com.evolutiongaming.smetrics

import scala.util.control.NoStackTrace

Expand Down Expand Up @@ -639,12 +639,22 @@ object Cache {

implicit class CacheOps[F[_], K, V](val self: Cache[F, K, V]) extends AnyVal {

@deprecated("use `withMetrics1` instead", "4.5.0")
def withMetrics(
metrics: CacheMetrics[F])(implicit
temporal: Temporal[F],
measureDuration: smetrics.MeasureDuration[F]
): Resource[F, Cache[F, K, V]] = {
implicit val md: MeasureDuration[F] = measureDuration.toCatsHelper
withMetrics1(metrics)
}

def withMetrics1(
metrics: CacheMetrics[F])(implicit
temporal: Temporal[F],
measureDuration: MeasureDuration[F]
): Resource[F, Cache[F, K, V]] = {
CacheMetered(self, metrics)
CacheMetered.apply1(self, metrics)
}

def mapK[G[_]](fg: F ~> G, gf: G ~> F)(implicit F: Functor[F]): Cache[G, K, V] = {
Expand Down
16 changes: 13 additions & 3 deletions src/main/scala/com/evolution/scache/CacheMetered.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,24 @@ package com.evolution.scache
import cats.effect.{Resource, Temporal}
import cats.kernel.CommutativeMonoid
import cats.syntax.all.*
import com.evolutiongaming.catshelper.Schedule
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.{MeasureDuration, Schedule}
import com.evolutiongaming.smetrics

import scala.concurrent.duration.*

object CacheMetered {

def apply[F[_]: MeasureDuration: Temporal, K, V](
@deprecated("Use `apply1` instead", "4.5.0")
def apply[F[_]: smetrics.MeasureDuration: Temporal, K, V](
cache: Cache[F, K, V],
metrics: CacheMetrics[F],
interval: FiniteDuration = 1.minute
): Resource[F, Cache[F, K, V]] = {
implicit val md: MeasureDuration[F] = smetrics.MeasureDuration[F].toCatsHelper
apply1(cache, metrics, interval)
}

def apply1[F[_]: MeasureDuration: Temporal, K, V](
cache: Cache[F, K, V],
metrics: CacheMetrics[F],
interval: FiniteDuration = 1.minute
Expand Down
2 changes: 1 addition & 1 deletion src/test/scala/com/evolution/scache/CacheSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class CacheSpec extends AsyncFunSuite with Matchers {
for {
cache <- cache0
metrics <- CacheMetricsProbe.of.toResource
cache <- cache.withMetrics(metrics)
cache <- cache.withMetrics1(metrics)
cache <- cache.withFence
} yield (cache, metrics)

Expand Down
2 changes: 1 addition & 1 deletion src/test/scala/com/evolution/scache/IOSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package com.evolution.scache

import cats.effect.unsafe.implicits.global
import cats.effect.{Clock, IO}
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.MeasureDuration
import org.scalactic.source.Position
import org.scalatest.Succeeded
import org.scalatest.enablers.Retrying
Expand Down