| <?xml version="1.0" encoding="UTF-8"?> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>com.lightbend</groupId> |
| <artifactId>telemetry-sample</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| |
| <licenses> |
| <license> |
| <name>CC0</name> |
| <url>https://creativecommons.org/publicdomain/zero/1.0</url> |
| </license> |
| </licenses> |
| |
| <!-- |
| TODO: Remove `lightbend.cinnamon.version` after releasing 2.16.0 and |
| updating it on akka-platform-dependencies |
| --> |
| <!-- tag::telemetry-build-properties[] --> |
| <properties> |
| <scala.version>2.13.3</scala.version> |
| <scala.binary.version>2.13</scala.binary.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <maven.compiler.source>11</maven.compiler.source> |
| <maven.compiler.target>11</maven.compiler.target> |
| <version.number>${git.commit.time}-${git.commit.id.abbrev}</version.number> |
| <lightbend.cinnamon.version>2.16.1</lightbend.cinnamon.version> |
| </properties> |
| <!-- end::telemetry-build-properties[] --> |
| |
| <!-- tag::telemetry-commercial-repository[] --> |
| <repositories> |
| <repository> |
| <id>lightbend-commercial</id> |
| <name>Lightbend Commercial</name> |
| <url>${env.LIGHTBEND_COMMERCIAL_MVN}</url> |
| </repository> |
| </repositories> |
| <!-- end::telemetry-commercial-repository[] --> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.lightbend.akka</groupId> |
| <artifactId>akka-platform-dependencies_${scala.binary.version}</artifactId> |
| <version>0.3.0</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>com.typesafe.akka</groupId> |
| <artifactId>akka-actor-typed_${scala.binary.version}</artifactId> |
| </dependency> |
| |
| <!-- tag::telemetry-dependencies[] --> |
| <!-- Use Coda Hale Metrics --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-chmetrics</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Use Akka instrumentations --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-akka_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Use Akka Persistence instrumentation --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-akka-persistence_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Akka Projection instrumentations --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-akka-projection_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Use Akka HTTP instrumentation --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-akka-http_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Use Akka gRPC instrumentation --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-akka-grpc_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- end::telemetry-dependencies[] --> |
| |
| <!-- tag::telemetry-prometheus-dependencies[] --> |
| <!-- Cinnamon Prometheus core dependency --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-prometheus</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Cinnamon Prometheus HTTP server dependency --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-prometheus-httpserver</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- end::telemetry-prometheus-dependencies[] --> |
| |
| <!-- tag::telemetry-opentracing-dependencies[] --> |
| <!-- Cinnamon OpenTracing core dependency --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-opentracing_${scala.binary.version}</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- Cinnamon OpenTracing Zipkin reporter dependency --> |
| <dependency> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-opentracing-zipkin</artifactId> |
| <version>${lightbend.cinnamon.version}</version> |
| </dependency> |
| <!-- end::telemetry-opentracing-dependencies[] --> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>2.4.1</version> |
| <configuration> |
| <scala> |
| <scalafmt> |
| <version>2.7.4</version> |
| <file>${project.basedir}/.scalafmt.conf</file> |
| </scalafmt> |
| </scala> |
| </configuration> |
| </plugin> |
| |
| <!-- tag::telemetry-agent-copy[] --> |
| <!-- Copy the agent to a know location that can be referenced later --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.1.2</version> |
| <executions> |
| <execution> |
| <id>copy</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>copy</goal> |
| </goals> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>com.lightbend.cinnamon</groupId> |
| <artifactId>cinnamon-agent</artifactId> |
| <overWrite>true</overWrite> |
| <destFileName>cinnamon-agent.jar</destFileName> |
| </artifactItem> |
| </artifactItems> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- end::telemetry-agent-copy[] --> |
| |
| <!-- tag::telemetry-javaagent-run[] --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <configuration> |
| <executable>java</executable> |
| <arguments> |
| <argument>-javaagent:${project.build.directory}/dependency/cinnamon-agent.jar</argument> |
| <argument>-classpath</argument> |
| <classpath /> |
| <argument>com.lightbend.telemetry.sample.Main</argument> |
| </arguments> |
| </configuration> |
| </plugin> |
| <!-- end::telemetry-javaagent-run[] --> |
| |
| <!-- tag::telemetry-javaagent-test[] --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.22.2</version> |
| <configuration> |
| <argLine>-javaagent:${project.build.directory}/dependency/cinnamon-agent.jar</argLine> |
| </configuration> |
| </plugin> |
| <!-- end::telemetry-javaagent-test[] --> |
| |
| <!-- tag::telemetry-javaagent-docker[] --> |
| <plugin> |
| <groupId>io.fabric8</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>0.35.0</version> |
| <configuration> |
| <verbose>true</verbose> |
| <useColor>true</useColor> |
| <images> |
| <image> |
| <name>%a</name> |
| <build> |
| <from>docker.io/library/adoptopenjdk:11-jre-hotspot</from> |
| <tags> |
| <tag>${version.number}</tag> |
| </tags> |
| <entryPoint> |
| <exec> |
| <arg>java</arg> |
| <arg>-cp</arg> |
| <arg>/maven/*</arg> |
| <!-- /cinnamon-agent folder matches the assembly name below --> |
| <arg>-javaagent:/cinnamon-agent/cinnamon-agent.jar</arg> |
| <arg>com.lightbend.telemetry.sample.Main</arg> |
| </exec> |
| </entryPoint> |
| <assemblies> |
| <!-- An inline assembly to add the agent jar to the Docker image --> |
| <assembly> |
| <name>cinnamon-agent</name> |
| <mode>dir</mode> |
| <inline> |
| <includeBaseDirectory>false</includeBaseDirectory> |
| <fileSets> |
| <fileSet> |
| <directory>${project.build.directory}/dependency</directory> |
| <outputDirectory>.</outputDirectory> |
| <fileMode>0644</fileMode> |
| </fileSet> |
| </fileSets> |
| </inline> |
| </assembly> |
| <assembly> |
| <descriptorRef>artifact-with-dependencies</descriptorRef> |
| </assembly> |
| </assemblies> |
| </build> |
| </image> |
| </images> |
| </configuration> |
| <executions> |
| <execution> |
| <id>build-docker-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- end::telemetry-javaagent-docker[] --> |
| |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>4.0.4</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <dateFormat>yyyyMMdd-HHmmss</dateFormat> |
| <!-- Version can be defined with -Dversion.number=0.1-SNAPSHOT if git is not used --> |
| <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> |
| <failOnNoGitDirectory>false</failOnNoGitDirectory> |
| <generateGitPropertiesFile>false</generateGitPropertiesFile> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>4.4.1</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <scalaVersion>${scala.version}</scalaVersion> |
| </configuration> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| </project> |