Skip to content

Commit f20c1f2

Browse files
authored
Merge pull request #236 from evolution-gaming/stas/sequentially-ce-metrics
Apply Scala format, enable sequentially-ce-metric
2 parents 07cb68f + 0d9029c commit f20c1f2

File tree

5 files changed

+40
-42
lines changed

5 files changed

+40
-42
lines changed

build.sbt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ lazy val root = project
4242
.aggregate(
4343
(sequentially.projectRefs ++
4444
`sequentially-ce`.projectRefs ++
45+
`sequentially-ce-metrics`.projectRefs ++
4546
`sequentially-metrics`.projectRefs :+
4647
projectToRef(benchmark)): _*
4748
)

sequentially-ce-metrics/src/main/scala/com/evolutiongaming/concurrent/MeteredSequentiallyF.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import scala.concurrent.Future
1010
/** Wrapper around SequentiallyF that adds metrics tracking.
1111
* Since SequentiallyF is a final class, we wrap it by delegation.
1212
*/
13-
final class MeteredSequentiallyF[F[_]: Async, -K] private (
13+
final class MeteredSequentiallyF[F[_] : Async, -K] private (
1414
private val sequentially: SequentiallyF[F, K],
1515
private val metrics: SequentiallyMetricsF[F],
1616
) {
@@ -27,22 +27,22 @@ final class MeteredSequentiallyF[F[_]: Async, -K] private (
2727

2828
def applyF[T](key: K)(task: => F[T]): F[T] = {
2929
val start = System.nanoTime()
30-
30+
3131
metrics.queue(start) *> metrics.run(sequentially.applyF(key)(task))
3232
}
3333
}
3434

3535
object MeteredSequentiallyF {
3636

37-
def apply[F[_]: Async, K](
37+
def apply[F[_] : Async, K](
3838
sequentially: SequentiallyF[F, K],
3939
name: String,
4040
sequentiallyMetrics: SequentiallyMetricsF.Factory[F],
4141
): MeteredSequentiallyF[F, K] = {
4242
apply(sequentially, sequentiallyMetrics(name))
4343
}
4444

45-
def apply[F[_]: Async, K](
45+
def apply[F[_] : Async, K](
4646
sequentially: SequentiallyF[F, K],
4747
metrics: SequentiallyMetricsF[F],
4848
): MeteredSequentiallyF[F, K] = {
@@ -59,7 +59,7 @@ object MeteredSequentiallyF {
5959
def apply[K]: SequentiallyF[F, K]
6060
}
6161

62-
def apply[F[_]: Async](
62+
def apply[F[_] : Async](
6363
provider: Provider[F],
6464
sequentiallyMetrics: SequentiallyMetricsF.Factory[F],
6565
): Factory[F] = new Factory[F] {

sequentially-ce-metrics/src/main/scala/com/evolutiongaming/concurrent/SequentiallyMetricsF.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ object SequentiallyMetricsF {
1919
/** @note Must be singleton as metric names must be unique.
2020
* @see CollectorRegistry#register
2121
*/
22-
def apply[F[_]: Sync](
22+
def apply[F[_] : Sync](
2323
prometheusRegistry: CollectorRegistry,
2424
prefix: String = "sequentially",
2525
): Factory[F] = {
@@ -54,4 +54,3 @@ object SequentiallyMetricsF {
5454
}
5555
}
5656
}
57-

sequentially-ce-metrics/src/test/scala/com/evolutiongaming/concurrent/MeteredSequentiallyFSpec.scala

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
9494
val queueCount = registry.getSampleValue(
9595
"sequentially_time_count",
9696
Array("name", "operation"),
97-
Array("test-metrics", "queue")
97+
Array("test-metrics", "queue"),
9898
)
9999
val runCount = registry.getSampleValue(
100100
"sequentially_time_count",
101101
Array("name", "operation"),
102-
Array("test-metrics", "run")
102+
Array("test-metrics", "run"),
103103
)
104104

105105
queueCount.doubleValue() should be >= 0.0
@@ -116,7 +116,7 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
116116
val (dispatcher, dispatcherCleanup) = Dispatcher.parallel[IO].allocated.unsafeRunSync()
117117
val metricsFactory = SequentiallyMetricsF.Factory[IO](registry)
118118
val metered = MeteredSequentiallyF(sequentially, "test-apply", metricsFactory)
119-
119+
120120
implicit val disp: Dispatcher[IO] = dispatcher
121121

122122
try {
@@ -153,12 +153,12 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
153153
val queueCount = registry.getSampleValue(
154154
"sequentially_time_count",
155155
Array("name", "operation"),
156-
Array("test-apply-metrics", "queue")
156+
Array("test-apply-metrics", "queue"),
157157
)
158158
val runCount = registry.getSampleValue(
159159
"sequentially_time_count",
160160
Array("name", "operation"),
161-
Array("test-apply-metrics", "run")
161+
Array("test-apply-metrics", "run"),
162162
)
163163

164164
queueCount.doubleValue() should be >= 0.0
@@ -225,12 +225,12 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
225225
val queueCount = registry.getSampleValue(
226226
"sequentially_time_count",
227227
Array("name", "operation"),
228-
Array("test-multiple", "queue")
228+
Array("test-multiple", "queue"),
229229
)
230230
val runCount = registry.getSampleValue(
231231
"sequentially_time_count",
232232
Array("name", "operation"),
233-
Array("test-multiple", "run")
233+
Array("test-multiple", "run"),
234234
)
235235

236236
queueCount.doubleValue() shouldEqual 10.0
@@ -255,12 +255,12 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
255255
val count1 = registry.getSampleValue(
256256
"sequentially_time_count",
257257
Array("name", "operation"),
258-
Array("name1", "run")
258+
Array("name1", "run"),
259259
)
260260
val count2 = registry.getSampleValue(
261261
"sequentially_time_count",
262262
Array("name", "operation"),
263-
Array("name2", "run")
263+
Array("name2", "run"),
264264
)
265265

266266
count1.doubleValue() should be >= 0.0
@@ -310,16 +310,16 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
310310
val registry = new CollectorRegistry()
311311
val (sequentially, cleanup) = SequentiallyF.resource[IO, Int]().allocated.unsafeRunSync()
312312
val metricsFactory = SequentiallyMetricsF.Factory[IO](registry)
313-
313+
314314
val provider = new MeteredSequentiallyF.Factory.Provider[IO] {
315315
override def apply[K]: SequentiallyF[IO, K] = sequentially.asInstanceOf[SequentiallyF[IO, K]]
316316
}
317-
317+
318318
val factory = MeteredSequentiallyF.Factory(provider, metricsFactory)
319319

320320
try {
321321
val metered = factory("test-factory")
322-
322+
323323
val result = metered.applyF(1)(IO.pure("result")).unsafeRunSync()
324324
result shouldEqual "result"
325325

@@ -332,11 +332,11 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
332332
val registry = new CollectorRegistry()
333333
val (sequentially, cleanup) = SequentiallyF.resource[IO, Int]().allocated.unsafeRunSync()
334334
val metricsFactory = SequentiallyMetricsF.Factory[IO](registry)
335-
335+
336336
val provider = new MeteredSequentiallyF.Factory.Provider[IO] {
337337
override def apply[K]: SequentiallyF[IO, K] = sequentially.asInstanceOf[SequentiallyF[IO, K]]
338338
}
339-
339+
340340
val factory = MeteredSequentiallyF.Factory(provider, metricsFactory)
341341

342342
try {
@@ -357,11 +357,11 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
357357
val registry = new CollectorRegistry()
358358
val (sequentially, cleanup) = SequentiallyF.resource[IO, Int]().allocated.unsafeRunSync()
359359
val metricsFactory = SequentiallyMetricsF.Factory[IO](registry)
360-
360+
361361
val provider = new MeteredSequentiallyF.Factory.Provider[IO] {
362362
override def apply[K]: SequentiallyF[IO, K] = sequentially.asInstanceOf[SequentiallyF[IO, K]]
363363
}
364-
364+
365365
val factory = MeteredSequentiallyF.Factory(provider, metricsFactory)
366366

367367
try {
@@ -371,7 +371,7 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
371371
val count = registry.getSampleValue(
372372
"sequentially_time_count",
373373
Array("name", "operation"),
374-
Array("factory-test", "run")
374+
Array("factory-test", "run"),
375375
)
376376

377377
count.doubleValue() should be >= 0.0
@@ -382,4 +382,3 @@ class MeteredSequentiallyFSpec extends AnyWordSpec with Matchers with ScalaFutur
382382
}
383383
}
384384
}
385-

sequentially-ce-metrics/src/test/scala/com/evolutiongaming/concurrent/SequentiallyMetricsFSpec.scala

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
4040
val factory = SequentiallyMetricsF.Factory[IO](registry, prefix = "custom_prefix")
4141

4242
factory("test-name")
43-
43+
4444
// Verify metric exists with custom prefix
4545
val metricName = "custom_prefix_time"
4646
val samples = registry.metricFamilySamples().asIterator().asScala.toSeq
@@ -53,7 +53,7 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
5353
val factory = SequentiallyMetricsF.Factory[IO](registry)
5454

5555
factory("test-name")
56-
56+
5757
// Verify metric exists with default prefix
5858
val metricName = "sequentially_time"
5959
val samples = registry.metricFamilySamples().asIterator().asScala.toSeq
@@ -70,17 +70,17 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
7070
val metrics = factory("test-queue")
7171

7272
val startNanos = System.nanoTime()
73-
73+
7474
// Record queue time
7575
metrics.queue(startNanos).unsafeRunSync()
7676

7777
// Verify metric was recorded
7878
val summary = registry.getSampleValue(
7979
"sequentially_time_count",
8080
Array("name", "operation"),
81-
Array("test-queue", "queue")
81+
Array("test-queue", "queue"),
8282
)
83-
83+
8484
Option(summary).isDefined shouldBe true
8585
summary.doubleValue() should be >= 0.0
8686
}
@@ -99,12 +99,12 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
9999
val count1 = registry.getSampleValue(
100100
"sequentially_time_count",
101101
Array("name", "operation"),
102-
Array("name1", "queue")
102+
Array("name1", "queue"),
103103
)
104104
val count2 = registry.getSampleValue(
105105
"sequentially_time_count",
106106
Array("name", "operation"),
107-
Array("name2", "queue")
107+
Array("name2", "queue"),
108108
)
109109

110110
Option(count1).isDefined shouldBe true
@@ -139,7 +139,7 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
139139
val count = registry.getSampleValue(
140140
"sequentially_time_count",
141141
Array("name", "operation"),
142-
Array("test-run", "run")
142+
Array("test-run", "run"),
143143
)
144144

145145
Option(count).isDefined shouldBe true
@@ -159,12 +159,12 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
159159
val count1 = registry.getSampleValue(
160160
"sequentially_time_count",
161161
Array("name", "operation"),
162-
Array("name1", "run")
162+
Array("name1", "run"),
163163
)
164164
val count2 = registry.getSampleValue(
165165
"sequentially_time_count",
166166
Array("name", "operation"),
167-
Array("name2", "run")
167+
Array("name2", "run"),
168168
)
169169

170170
Option(count1).isDefined shouldBe true
@@ -202,7 +202,7 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
202202
val count = Option(registry.getSampleValue(
203203
"sequentially_time_count",
204204
Array("name", "operation"),
205-
Array("test-error", "run")
205+
Array("test-error", "run"),
206206
))
207207

208208
// If exception occurs before flatMap completes, metric may not be recorded
@@ -251,7 +251,7 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
251251
val summary = registry.getSampleValue(
252252
"sequentially_time_sum",
253253
Array("name", "operation"),
254-
Array("test-duration", "run")
254+
Array("test-duration", "run"),
255255
)
256256

257257
Option(summary).isDefined shouldBe true
@@ -275,12 +275,12 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
275275
val queueCount = registry.getSampleValue(
276276
"sequentially_time_count",
277277
Array("name", "operation"),
278-
Array("test-integration", "queue")
278+
Array("test-integration", "queue"),
279279
)
280280
val runCount = registry.getSampleValue(
281281
"sequentially_time_count",
282282
Array("name", "operation"),
283-
Array("test-integration", "run")
283+
Array("test-integration", "run"),
284284
)
285285

286286
Option(queueCount).isDefined shouldBe true
@@ -305,12 +305,12 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
305305
val queueCount = registry.getSampleValue(
306306
"sequentially_time_count",
307307
Array("name", "operation"),
308-
Array("test-multiple", "queue")
308+
Array("test-multiple", "queue"),
309309
)
310310
val runCount = registry.getSampleValue(
311311
"sequentially_time_count",
312312
Array("name", "operation"),
313-
Array("test-multiple", "run")
313+
Array("test-multiple", "run"),
314314
)
315315

316316
Option(queueCount).isDefined shouldBe true
@@ -320,4 +320,3 @@ class SequentiallyMetricsFSpec extends AnyWordSpec with Matchers {
320320
}
321321
}
322322
}
323-

0 commit comments

Comments
 (0)