Skip to content

Commit c7a5e97

Browse files
committed
upgrade to Kanela 2.0.0-beta.1
1 parent f4898d9 commit c7a5e97

File tree

84 files changed

+421
-5339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+421
-5339
lines changed

build.sbt

+29-58
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ lazy val `kamon-twitter-future` = (project in file("instrumentation/kamon-twitte
196196
.enablePlugins(JavaAgent)
197197
.settings(instrumentationSettings)
198198
.settings(
199-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
199+
crossScalaVersions := Seq(`scala_2.13_version`),
200200
libraryDependencies ++= Seq(
201201
kanelaAgent % "provided",
202202
"com.twitter" %% "util-core" % "20.3.0" % "provided",
@@ -210,7 +210,7 @@ lazy val `kamon-scalaz-future` = (project in file("instrumentation/kamon-scalaz-
210210
.enablePlugins(JavaAgent)
211211
.settings(instrumentationSettings)
212212
.settings(
213-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
213+
crossScalaVersions := Seq(`scala_2.13_version`),
214214
libraryDependencies ++= Seq(
215215
kanelaAgent % "provided",
216216
"org.scalaz" %% "scalaz-concurrent" % "7.2.28" % "provided",
@@ -236,7 +236,7 @@ lazy val `kamon-cats-io` = (project in file("instrumentation/kamon-cats-io"))
236236
.enablePlugins(JavaAgent)
237237
.settings(instrumentationSettings)
238238
.settings(
239-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
239+
crossScalaVersions := Seq(`scala_2.13_version`),
240240
libraryDependencies ++= Seq(
241241
kanelaAgent % "provided", {
242242
if (scalaBinaryVersion.value == "2.11")
@@ -254,7 +254,7 @@ lazy val `kamon-cats-io-3` = (project in file("instrumentation/kamon-cats-io-3")
254254
.enablePlugins(JavaAgent)
255255
.settings(instrumentationSettings)
256256
.settings(
257-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
257+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
258258
libraryDependencies ++= Seq(
259259
kanelaAgent % "provided",
260260
"org.typelevel" %% "cats-effect" % "3.3.14" % "provided",
@@ -268,7 +268,7 @@ lazy val `kamon-zio-2` = (project in file("instrumentation/kamon-zio-2"))
268268
.enablePlugins(JavaAgent)
269269
.settings(instrumentationSettings)
270270
.settings(
271-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
271+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
272272
libraryDependencies ++= Seq(
273273
kanelaAgent % "provided",
274274
"dev.zio" %% "zio" % "2.0.21" % "provided",
@@ -333,7 +333,7 @@ lazy val `kamon-mongo-legacy` = (project in file("instrumentation/kamon-mongo-le
333333
.enablePlugins(JavaAgent)
334334
.settings(instrumentationSettings)
335335
.settings(
336-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
336+
crossScalaVersions := Seq(`scala_2.13_version`),
337337
libraryDependencies ++= Seq(
338338
kanelaAgent % "provided",
339339
"org.mongodb" % "mongodb-driver-sync" % "3.11.0" % "provided",
@@ -350,7 +350,7 @@ lazy val `kamon-mongo` = (project in file("instrumentation/kamon-mongo"))
350350
.enablePlugins(JavaAgent)
351351
.settings(instrumentationSettings)
352352
.settings(
353-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
353+
crossScalaVersions := Seq(`scala_2.13_version`),
354354
libraryDependencies ++= Seq(
355355
kanelaAgent % "provided",
356356
"org.mongodb" % "mongodb-driver-sync" % "4.2.3" % "provided",
@@ -366,7 +366,7 @@ lazy val `kamon-cassandra` = (project in file("instrumentation/kamon-cassandra")
366366
.disablePlugins(AssemblyPlugin)
367367
.enablePlugins(JavaAgent)
368368
.settings(instrumentationSettings)
369-
.settings(crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`))
369+
.settings(crossScalaVersions := Seq(`scala_2.13_version`))
370370
.dependsOn(`kamon-core`, `kamon-instrumentation-common`, `kamon-testkit` % "test", `kamon-executors`)
371371

372372
lazy val `kamon-elasticsearch` = (project in file("instrumentation/kamon-elasticsearch"))
@@ -412,6 +412,7 @@ lazy val `kamon-spring` = (project in file("instrumentation/kamon-spring"))
412412
kanelaAgent % "provided",
413413
"org.springframework.boot" % "spring-boot-starter-web" % "2.4.2" % "provided",
414414
"org.springframework.boot" % "spring-boot-starter-webflux" % "2.4.2" % "provided",
415+
"javax.servlet" % "javax.servlet-api" % "4.0.1" % "provided",
415416
okHttp % "test",
416417
"com.h2database" % "h2" % "1.4.200" % "test",
417418
"javax.xml.bind" % "jaxb-api" % "2.3.1" % "test",
@@ -466,14 +467,13 @@ lazy val `kamon-akka` = (project in file("instrumentation/kamon-akka"))
466467
.disablePlugins(AssemblyPlugin)
467468
.settings(instrumentationSettings: _*)
468469
.dependsOn(
469-
`kamon-scala-future` % "compile,common,akka-2.5,akka-2.6",
470-
`kamon-testkit` % "test,test-common,test-akka-2.5,test-akka-2.6"
470+
`kamon-scala-future` % "compile,common,akka-2.6",
471+
`kamon-testkit` % "test,test-common,test-akka-2.6"
471472
)
472473

473474
def akkaHttpVersion(scalaVersion: String) = scalaVersion match {
474-
case "2.11" => "10.1.12"
475-
case "3" => "10.5.0"
476-
case _ => "10.2.8"
475+
case "3" => "10.5.0"
476+
case _ => "10.2.8"
477477
}
478478
def akkaStreamVersion(scalaVersion: String) = scalaVersion match {
479479
case "3" => "2.7.0"
@@ -484,22 +484,11 @@ def akkaGrpcRuntimeVersion(scalaVersion: String) = scalaVersion match {
484484
case _ => "2.1.3"
485485
}
486486

487-
def versionedScalaSourceDirectories(sourceDir: File, scalaVersion: String): List[File] =
488-
scalaVersion match {
489-
case "3" => List(sourceDir / "scala-2.13+")
490-
case "2.13" => List(sourceDir / "scala-2.13+")
491-
case _ => Nil
492-
}
493-
494487
lazy val `kamon-akka-http` = (project in file("instrumentation/kamon-akka-http"))
495488
.enablePlugins(JavaAgent)
496489
.disablePlugins(AssemblyPlugin)
497490
.settings(instrumentationSettings)
498491
.settings(Seq(
499-
Compile / unmanagedSourceDirectories ++= versionedScalaSourceDirectories(
500-
(Compile / sourceDirectory).value,
501-
scalaBinaryVersion.value
502-
),
503492
resolvers += Resolver.bintrayRepo("hseeberger", "maven"),
504493
javaAgents += "org.mortbay.jetty.alpn" % "jetty-alpn-agent" % "2.0.10" % "test",
505494
libraryDependencies ++= Seq(
@@ -523,7 +512,7 @@ lazy val `kamon-pekko` = (project in file("instrumentation/kamon-pekko"))
523512
.disablePlugins(AssemblyPlugin)
524513
.settings(instrumentationSettings: _*)
525514
.settings(Seq(
526-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
515+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
527516
libraryDependencies ++= Seq(
528517
"org.apache.pekko" %% "pekko-actor" % "1.0.1" % "provided"
529518
)
@@ -540,7 +529,7 @@ lazy val `kamon-pekko-http` = (project in file("instrumentation/kamon-pekko-http
540529
.disablePlugins(AssemblyPlugin)
541530
.settings(instrumentationSettings)
542531
.settings(Seq(
543-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
532+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
544533
libraryDependencies ++= Seq(
545534
kanelaAgent % "provided",
546535
"org.apache.pekko" %% "pekko-http" % pekkoHttpVersion % "provided",
@@ -561,7 +550,7 @@ lazy val `kamon-pekko-grpc` = (project in file("instrumentation/kamon-pekko-grpc
561550
.settings(instrumentationSettings)
562551
.settings(Seq(
563552
PB.additionalDependencies := Seq.empty,
564-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
553+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
565554
libraryDependencies ++= Seq(
566555
kanelaAgent % "provided",
567556
"org.apache.pekko" %% "pekko-http" % pekkoHttpVersion % "provided",
@@ -581,7 +570,7 @@ lazy val `kamon-pekko-connectors-kafka` = (project in file("instrumentation/kamo
581570
.enablePlugins(JavaAgent)
582571
.settings(instrumentationSettings)
583572
.settings(
584-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
573+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
585574
libraryDependencies ++= Seq(
586575
kanelaAgent % "provided",
587576
"org.apache.pekko" %% "pekko-connectors-kafka" % "1.0.0" % "provided",
@@ -597,7 +586,7 @@ lazy val `kamon-akka-grpc` = (project in file("instrumentation/kamon-akka-grpc")
597586
.settings(instrumentationSettings)
598587
.settings(Seq(
599588
PB.additionalDependencies := Seq.empty,
600-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
589+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
601590
libraryDependencies ++= Seq(
602591
kanelaAgent % "provided",
603592
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion(scalaBinaryVersion.value) % "provided",
@@ -620,12 +609,12 @@ lazy val `kamon-play` = (project in file("instrumentation/kamon-play"))
620609
.disablePlugins(AssemblyPlugin)
621610
.settings(
622611
instrumentationSettings,
623-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`)
612+
crossScalaVersions := Seq(`scala_2.13_version`)
624613
)
625614
.dependsOn(
626-
`kamon-akka` % "compile,test-common,test-play-2.8,test-play-2.7,test-play-2.6",
627-
`kamon-akka-http` % "compile,test-common,test-play-2.8,test-play-2.7,test-play-2.6",
628-
`kamon-testkit` % "test-common,test-play-2.8,test-play-2.7,test-play-2.6"
615+
`kamon-akka` % "compile,test-common,test-play-2.8,test-play-2.7",
616+
`kamon-akka-http` % "compile,test-common,test-play-2.8,test-play-2.7",
617+
`kamon-testkit` % "test-common,test-play-2.8,test-play-2.7"
629618
)
630619

631620
lazy val `kamon-okhttp` = (project in file("instrumentation/kamon-okhttp"))
@@ -648,7 +637,7 @@ lazy val `kamon-tapir` = (project in file("instrumentation/kamon-tapir"))
648637
.enablePlugins(JavaAgent)
649638
.settings(
650639
instrumentationSettings,
651-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
640+
crossScalaVersions := Seq(`scala_2.13_version`),
652641
libraryDependencies ++= Seq(
653642
kanelaAgent % "provided,legacy",
654643

@@ -704,7 +693,7 @@ lazy val `kamon-caffeine` = (project in file("instrumentation/kamon-caffeine"))
704693
lazy val `kamon-lagom` = (project in file("instrumentation/kamon-lagom"))
705694
.disablePlugins(AssemblyPlugin)
706695
.settings(
707-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
696+
crossScalaVersions := Seq(`scala_2.13_version`),
708697
libraryDependencies ++= {
709698
CrossVersion.partialVersion(scalaVersion.value) match {
710699
case Some((2, scalaMajor)) if scalaMajor == 11 =>
@@ -720,7 +709,7 @@ lazy val `kamon-finagle` = (project in file("instrumentation/kamon-finagle"))
720709
.enablePlugins(JavaAgent)
721710
.settings(instrumentationSettings)
722711
.settings(
723-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
712+
crossScalaVersions := Seq(`scala_2.13_version`),
724713
libraryDependencies ++= Seq(
725714
kanelaAgent % "provided",
726715
"com.twitter" %% "finagle-http" % "21.12.0" % "provided",
@@ -751,7 +740,7 @@ lazy val `kamon-alpakka-kafka` = (project in file("instrumentation/kamon-alpakka
751740
.enablePlugins(JavaAgent)
752741
.settings(instrumentationSettings)
753742
.settings(
754-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
743+
crossScalaVersions := Seq(`scala_2.13_version`),
755744
libraryDependencies ++= Seq(
756745
kanelaAgent % "provided",
757746
"com.typesafe.akka" %% "akka-stream-kafka" % "2.1.1" % "provided",
@@ -790,7 +779,7 @@ lazy val `kamon-http4s-0_23` = (project in file("instrumentation/kamon-http4s-0.
790779
.settings(
791780
name := "kamon-http4s-0.23",
792781
scalacOptions ++= { if (scalaBinaryVersion.value == "2.12") Seq("-Ypartial-unification") else Seq.empty },
793-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, `scala_3_version`),
782+
crossScalaVersions := Seq(`scala_2.13_version`, `scala_3_version`),
794783
libraryDependencies ++= Seq(
795784
"org.http4s" %% "http4s-client" % "0.23.19" % Provided,
796785
"org.http4s" %% "http4s-server" % "0.23.19" % Provided,
@@ -1002,7 +991,6 @@ lazy val bundle = (project in file("bundle"))
1002991
.settings(crossScalaVersions := Nil)
1003992
.aggregate(
1004993
`kamon-bundle`,
1005-
`kamon-bundle_2_11`,
1006994
`kamon-bundle-3`,
1007995
`kamon-runtime-attacher`
1008996
)
@@ -1104,13 +1092,12 @@ lazy val `kamon-bundle-dependencies-all` = (project in file("bundle/kamon-bundle
11041092
* Add a reference here to all the project dependencies that can be built
11051093
* from 2.12. Currently only Scala 2.12 and 2.13.
11061094
*/
1107-
lazy val `kamon-bundle-dependencies-2-12-and-up` = (project in file("bundle/kamon-bundle-dependencies-2-12-and-up"))
1095+
lazy val `kamon-bundle-dependencies-2-13` = (project in file("bundle/kamon-bundle-dependencies-2-12-and-up"))
11081096
.disablePlugins(AssemblyPlugin)
11091097
.settings(noPublishing: _*)
11101098
.settings(ideSkipProject: _*)
11111099
.settings(
11121100
crossScalaVersions := Seq(
1113-
`scala_2.12_version`,
11141101
`scala_2.13_version`
11151102
)
11161103
)
@@ -1173,13 +1160,12 @@ lazy val `kamon-bundle` = (project in file("bundle/kamon-bundle"))
11731160
.settings(ideSkipProject: _*)
11741161
.settings(
11751162
crossScalaVersions := Seq(
1176-
`scala_2.12_version`,
11771163
`scala_2.13_version`
11781164
)
11791165
)
11801166
.dependsOn(
11811167
`kamon-core`,
1182-
`kamon-bundle-dependencies-2-12-and-up` % "shaded"
1168+
`kamon-bundle-dependencies-2-13` % "shaded"
11831169
)
11841170

11851171
lazy val `kamon-bundle-3` = (project in file("bundle/kamon-bundle-3"))
@@ -1195,21 +1181,6 @@ lazy val `kamon-bundle-3` = (project in file("bundle/kamon-bundle-3"))
11951181
`kamon-bundle-dependencies-3` % "shaded"
11961182
)
11971183

1198-
lazy val `kamon-bundle_2_11` = (project in file("bundle/kamon-bundle_2.11"))
1199-
.enablePlugins(AssemblyPlugin)
1200-
.settings(commonBundleSettings)
1201-
.settings(ideSkipProject: _*)
1202-
.settings(
1203-
scalaVersion := `scala_2.11_version`,
1204-
crossScalaVersions := Seq(
1205-
`scala_2.11_version`
1206-
)
1207-
)
1208-
.dependsOn(
1209-
`kamon-core`,
1210-
`kamon-bundle-dependencies-all` % "shaded"
1211-
)
1212-
12131184
lazy val `bill-of-materials` = (project in file("bill-of-materials"))
12141185
.enablePlugins(BillOfMaterialsPlugin)
12151186
.settings(ideSkipProject: _*)

bundle/kamon-runtime-attacher/src/main/scala/kamon/runtime/Attacher.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ object Attacher {
1919
def attach(): Unit = {
2020
val springBootClassLoader = findSpringBootJarLauncherClassLoader()
2121

22-
if (isKanelaLoaded) {
22+
if (isKanelaLoaded()) {
2323

2424
// If Kanela has already been loaded and we are running on a Spring Boot application, we might need to reload
2525
// Kanela to ensure it will use the proper ClassLoader for loading the instrumentations.

core/kamon-core/src/main/scala/kamon/status/InstrumentationStatus.scala

+9-26
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package kamon
1818
package status
1919

20-
import kamon.status.Status.Instrumentation.TypeError
2120
import org.slf4j.LoggerFactory
2221
import java.lang.{Boolean => JBoolean}
2322
import java.util.{List => JavaList, Map => JavaMap}
@@ -35,7 +34,7 @@ object InstrumentationStatus {
3534

3635
private val _logger = LoggerFactory.getLogger("kamon.status.Status.Instrumentation")
3736
private val _kanelaLoadedPropertyName = "kanela.loaded"
38-
private val _registryClassName = "kanela.agent.api.instrumentation.listener.InstrumentationRegistryListener"
37+
private val _registryClassName = "kanela.agent.bootstrap.StatusApi"
3938

4039
/**
4140
* Tries to fetch the current instrumentation information from Kanela and assemble a status instance. Since the
@@ -53,39 +52,32 @@ object InstrumentationStatus {
5352
val present = (registryClass != null) && kanelaLoaded
5453

5554
val kanelaVersion = Class.forName("kanela.agent.util.BuildInfo", false, ClassLoader.getSystemClassLoader)
56-
.getMethod("version")
57-
.invoke(null)
55+
.getField("version")
56+
.get(null)
5857
.asInstanceOf[String]
5958

60-
val modules = registryClass.getMethod("shareModules")
59+
val modules = registryClass.getMethod("shareModulesInfo")
6160
.invoke(null)
6261
.asInstanceOf[JavaList[JavaMap[String, String]]]
6362
.asScala
6463
.map(toModule)
6564

66-
val errors = registryClass.getMethod("shareErrors")
67-
.invoke(null)
68-
.asInstanceOf[JavaMap[String, JavaList[Throwable]]]
69-
.asScala
70-
.map(toTypeError)
71-
.toSeq
72-
73-
Status.Instrumentation(present, Option(kanelaVersion), modules.toSeq, errors)
65+
Status.Instrumentation(present, Option(kanelaVersion), modules.toSeq)
7466
} catch {
7567
case t: Throwable =>
76-
if (warnIfFailed) {
68+
if (warnIfFailed || true) {
7769
t match {
78-
case _: ClassNotFoundException if warnIfFailed =>
70+
case _: ClassNotFoundException =>
7971
_logger.warn(
8072
"Failed to load the instrumentation modules status because the Kanela agent is not available"
8173
)
8274

83-
case t: Throwable if warnIfFailed =>
75+
case t: Throwable =>
8476
_logger.warn("Failed to load the instrumentation modules status", t)
8577
}
8678
}
8779

88-
Status.Instrumentation(false, None, Seq.empty, Seq.empty)
80+
Status.Instrumentation(false, None, Seq.empty)
8981
}
9082
}
9183

@@ -101,13 +93,4 @@ object InstrumentationStatus {
10193
JBoolean.parseBoolean(map.get("active"))
10294
)
10395
}
104-
105-
/**
106-
* Transforms a pair of information into a type error instance. The convention of the first element being the type
107-
* name is tied to Kanela's implementation
108-
*/
109-
private def toTypeError(pair: (String, JavaList[Throwable])): TypeError = {
110-
val (typeName, errors) = pair
111-
TypeError(typeName, errors.asScala.toSeq)
112-
}
11396
}

0 commit comments

Comments
 (0)