Skip to content

Commit a47d236

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

File tree

80 files changed

+414
-5334
lines changed

Some content is hidden

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

80 files changed

+414
-5334
lines changed

build.sbt

+28-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"))
@@ -466,14 +466,13 @@ lazy val `kamon-akka` = (project in file("instrumentation/kamon-akka"))
466466
.disablePlugins(AssemblyPlugin)
467467
.settings(instrumentationSettings: _*)
468468
.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"
469+
`kamon-scala-future` % "compile,common,akka-2.6",
470+
`kamon-testkit` % "test,test-common,test-akka-2.6"
471471
)
472472

473473
def akkaHttpVersion(scalaVersion: String) = scalaVersion match {
474-
case "2.11" => "10.1.12"
475-
case "3" => "10.5.0"
476-
case _ => "10.2.8"
474+
case "3" => "10.5.0"
475+
case _ => "10.2.8"
477476
}
478477
def akkaStreamVersion(scalaVersion: String) = scalaVersion match {
479478
case "3" => "2.7.0"
@@ -484,22 +483,11 @@ def akkaGrpcRuntimeVersion(scalaVersion: String) = scalaVersion match {
484483
case _ => "2.1.3"
485484
}
486485

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-
494486
lazy val `kamon-akka-http` = (project in file("instrumentation/kamon-akka-http"))
495487
.enablePlugins(JavaAgent)
496488
.disablePlugins(AssemblyPlugin)
497489
.settings(instrumentationSettings)
498490
.settings(Seq(
499-
Compile / unmanagedSourceDirectories ++= versionedScalaSourceDirectories(
500-
(Compile / sourceDirectory).value,
501-
scalaBinaryVersion.value
502-
),
503491
resolvers += Resolver.bintrayRepo("hseeberger", "maven"),
504492
javaAgents += "org.mortbay.jetty.alpn" % "jetty-alpn-agent" % "2.0.10" % "test",
505493
libraryDependencies ++= Seq(
@@ -523,7 +511,7 @@ lazy val `kamon-pekko` = (project in file("instrumentation/kamon-pekko"))
523511
.disablePlugins(AssemblyPlugin)
524512
.settings(instrumentationSettings: _*)
525513
.settings(Seq(
526-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
514+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
527515
libraryDependencies ++= Seq(
528516
"org.apache.pekko" %% "pekko-actor" % "1.0.1" % "provided"
529517
)
@@ -540,7 +528,7 @@ lazy val `kamon-pekko-http` = (project in file("instrumentation/kamon-pekko-http
540528
.disablePlugins(AssemblyPlugin)
541529
.settings(instrumentationSettings)
542530
.settings(Seq(
543-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
531+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
544532
libraryDependencies ++= Seq(
545533
kanelaAgent % "provided",
546534
"org.apache.pekko" %% "pekko-http" % pekkoHttpVersion % "provided",
@@ -561,7 +549,7 @@ lazy val `kamon-pekko-grpc` = (project in file("instrumentation/kamon-pekko-grpc
561549
.settings(instrumentationSettings)
562550
.settings(Seq(
563551
PB.additionalDependencies := Seq.empty,
564-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
552+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
565553
libraryDependencies ++= Seq(
566554
kanelaAgent % "provided",
567555
"org.apache.pekko" %% "pekko-http" % pekkoHttpVersion % "provided",
@@ -581,7 +569,7 @@ lazy val `kamon-pekko-connectors-kafka` = (project in file("instrumentation/kamo
581569
.enablePlugins(JavaAgent)
582570
.settings(instrumentationSettings)
583571
.settings(
584-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
572+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
585573
libraryDependencies ++= Seq(
586574
kanelaAgent % "provided",
587575
"org.apache.pekko" %% "pekko-connectors-kafka" % "1.0.0" % "provided",
@@ -597,7 +585,7 @@ lazy val `kamon-akka-grpc` = (project in file("instrumentation/kamon-akka-grpc")
597585
.settings(instrumentationSettings)
598586
.settings(Seq(
599587
PB.additionalDependencies := Seq.empty,
600-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`, scala_3_version),
588+
crossScalaVersions := Seq(`scala_2.13_version`, scala_3_version),
601589
libraryDependencies ++= Seq(
602590
kanelaAgent % "provided",
603591
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion(scalaBinaryVersion.value) % "provided",
@@ -620,12 +608,12 @@ lazy val `kamon-play` = (project in file("instrumentation/kamon-play"))
620608
.disablePlugins(AssemblyPlugin)
621609
.settings(
622610
instrumentationSettings,
623-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`)
611+
crossScalaVersions := Seq(`scala_2.13_version`)
624612
)
625613
.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"
614+
`kamon-akka` % "compile,test-common,test-play-2.8,test-play-2.7",
615+
`kamon-akka-http` % "compile,test-common,test-play-2.8,test-play-2.7",
616+
`kamon-testkit` % "test-common,test-play-2.8,test-play-2.7"
629617
)
630618

631619
lazy val `kamon-okhttp` = (project in file("instrumentation/kamon-okhttp"))
@@ -648,7 +636,7 @@ lazy val `kamon-tapir` = (project in file("instrumentation/kamon-tapir"))
648636
.enablePlugins(JavaAgent)
649637
.settings(
650638
instrumentationSettings,
651-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
639+
crossScalaVersions := Seq(`scala_2.13_version`),
652640
libraryDependencies ++= Seq(
653641
kanelaAgent % "provided,legacy",
654642

@@ -704,7 +692,7 @@ lazy val `kamon-caffeine` = (project in file("instrumentation/kamon-caffeine"))
704692
lazy val `kamon-lagom` = (project in file("instrumentation/kamon-lagom"))
705693
.disablePlugins(AssemblyPlugin)
706694
.settings(
707-
crossScalaVersions := Seq(`scala_2.11_version`, `scala_2.12_version`, `scala_2.13_version`),
695+
crossScalaVersions := Seq(`scala_2.13_version`),
708696
libraryDependencies ++= {
709697
CrossVersion.partialVersion(scalaVersion.value) match {
710698
case Some((2, scalaMajor)) if scalaMajor == 11 =>
@@ -720,7 +708,7 @@ lazy val `kamon-finagle` = (project in file("instrumentation/kamon-finagle"))
720708
.enablePlugins(JavaAgent)
721709
.settings(instrumentationSettings)
722710
.settings(
723-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
711+
crossScalaVersions := Seq(`scala_2.13_version`),
724712
libraryDependencies ++= Seq(
725713
kanelaAgent % "provided",
726714
"com.twitter" %% "finagle-http" % "21.12.0" % "provided",
@@ -751,7 +739,7 @@ lazy val `kamon-alpakka-kafka` = (project in file("instrumentation/kamon-alpakka
751739
.enablePlugins(JavaAgent)
752740
.settings(instrumentationSettings)
753741
.settings(
754-
crossScalaVersions := Seq(`scala_2.12_version`, `scala_2.13_version`),
742+
crossScalaVersions := Seq(`scala_2.13_version`),
755743
libraryDependencies ++= Seq(
756744
kanelaAgent % "provided",
757745
"com.typesafe.akka" %% "akka-stream-kafka" % "2.1.1" % "provided",
@@ -790,7 +778,7 @@ lazy val `kamon-http4s-0_23` = (project in file("instrumentation/kamon-http4s-0.
790778
.settings(
791779
name := "kamon-http4s-0.23",
792780
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`),
781+
crossScalaVersions := Seq(`scala_2.13_version`, `scala_3_version`),
794782
libraryDependencies ++= Seq(
795783
"org.http4s" %% "http4s-client" % "0.23.19" % Provided,
796784
"org.http4s" %% "http4s-server" % "0.23.19" % Provided,
@@ -1002,7 +990,6 @@ lazy val bundle = (project in file("bundle"))
1002990
.settings(crossScalaVersions := Nil)
1003991
.aggregate(
1004992
`kamon-bundle`,
1005-
`kamon-bundle_2_11`,
1006993
`kamon-bundle-3`,
1007994
`kamon-runtime-attacher`
1008995
)
@@ -1104,13 +1091,12 @@ lazy val `kamon-bundle-dependencies-all` = (project in file("bundle/kamon-bundle
11041091
* Add a reference here to all the project dependencies that can be built
11051092
* from 2.12. Currently only Scala 2.12 and 2.13.
11061093
*/
1107-
lazy val `kamon-bundle-dependencies-2-12-and-up` = (project in file("bundle/kamon-bundle-dependencies-2-12-and-up"))
1094+
lazy val `kamon-bundle-dependencies-2-13` = (project in file("bundle/kamon-bundle-dependencies-2-12-and-up"))
11081095
.disablePlugins(AssemblyPlugin)
11091096
.settings(noPublishing: _*)
11101097
.settings(ideSkipProject: _*)
11111098
.settings(
11121099
crossScalaVersions := Seq(
1113-
`scala_2.12_version`,
11141100
`scala_2.13_version`
11151101
)
11161102
)
@@ -1173,13 +1159,12 @@ lazy val `kamon-bundle` = (project in file("bundle/kamon-bundle"))
11731159
.settings(ideSkipProject: _*)
11741160
.settings(
11751161
crossScalaVersions := Seq(
1176-
`scala_2.12_version`,
11771162
`scala_2.13_version`
11781163
)
11791164
)
11801165
.dependsOn(
11811166
`kamon-core`,
1182-
`kamon-bundle-dependencies-2-12-and-up` % "shaded"
1167+
`kamon-bundle-dependencies-2-13` % "shaded"
11831168
)
11841169

11851170
lazy val `kamon-bundle-3` = (project in file("bundle/kamon-bundle-3"))
@@ -1195,21 +1180,6 @@ lazy val `kamon-bundle-3` = (project in file("bundle/kamon-bundle-3"))
11951180
`kamon-bundle-dependencies-3` % "shaded"
11961181
)
11971182

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-
12131183
lazy val `bill-of-materials` = (project in file("bill-of-materials"))
12141184
.enablePlugins(BillOfMaterialsPlugin)
12151185
.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
}

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

+1-10
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,7 @@ object Status {
112112
case class Instrumentation(
113113
present: Boolean,
114114
kanelaVersion: Option[String],
115-
modules: Seq[Status.Instrumentation.ModuleInfo],
116-
errors: Seq[Status.Instrumentation.TypeError]
115+
modules: Seq[Status.Instrumentation.ModuleInfo]
117116
)
118117

119118
object Instrumentation {
@@ -131,13 +130,5 @@ object Status {
131130
enabled: Boolean,
132131
active: Boolean
133132
)
134-
135-
/**
136-
* Describes errors that might have occurred while transforming a target type.
137-
*/
138-
case class TypeError(
139-
targetType: String,
140-
errors: Seq[Throwable]
141-
)
142133
}
143134
}

0 commit comments

Comments
 (0)