Epsagon

Epsagon's distributed tracing agent for Java

License

License

GroupId

GroupId

com.epsagon
ArtifactId

ArtifactId

epsagon
Last Version

Last Version

1.6.0
Release Date

Release Date

Type

Type

jar
Description

Description

Epsagon
Epsagon's distributed tracing agent for Java
Project URL

Project URL

https://github.com/epsagon/epsagon-java
Source Code Management

Source Code Management

https://github.com/epsagon/epsagon-java

Download epsagon

How to add to project

<!-- https://jarcasting.com/artifacts/com.epsagon/epsagon/ -->
<dependency>
    <groupId>com.epsagon</groupId>
    <artifactId>epsagon</artifactId>
    <version>1.6.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.epsagon/epsagon/
implementation 'com.epsagon:epsagon:1.6.0'
// https://jarcasting.com/artifacts/com.epsagon/epsagon/
implementation ("com.epsagon:epsagon:1.6.0")
'com.epsagon:epsagon:jar:1.6.0'
<dependency org="com.epsagon" name="epsagon" rev="1.6.0">
  <artifact name="epsagon" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.epsagon', module='epsagon', version='1.6.0')
)
libraryDependencies += "com.epsagon" % "epsagon" % "1.6.0"
[com.epsagon/epsagon "1.6.0"]

Dependencies

compile (20)

Group / Artifact Type Version
com.amazonaws : aws-lambda-java-core jar 1.2.0
com.amazonaws : aws-lambda-java-events jar 2.2.4
com.amazonaws : aws-java-sdk-kinesis jar 1.11.452
com.amazonaws : aws-java-sdk-dynamodb jar 1.11.452
com.amazonaws : aws-java-sdk-sqs jar 1.11.452
com.amazonaws : aws-java-sdk-ses jar 1.11.452
com.amazonaws : aws-java-sdk-emr jar 1.11.452
com.amazonaws : aws-java-sdk-sns jar 1.11.452
com.amazonaws : aws-lambda-java-log4j2 jar 1.1.0
org.apache.logging.log4j : log4j-core jar 2.8.2
org.apache.logging.log4j : log4j-api jar 2.8.2
com.fasterxml.jackson.core : jackson-core jar 2.9.10
com.fasterxml.jackson.core : jackson-databind jar 2.9.10.5
com.fasterxml.jackson.core : jackson-annotations jar 2.9.10
com.fasterxml.jackson.datatype : jackson-datatype-joda jar 2.9.10
com.google.protobuf : protobuf-java jar 3.6.0
com.google.protobuf : protobuf-java-util jar 3.6.0
com.amazonaws : aws-java-sdk-s3 jar 1.11.452
net.bytebuddy : byte-buddy jar 1.9.2
commons-io : commons-io jar 2.5

provided (1)

Group / Artifact Type Version
amazoninternal » lambdainternal jar 1.0

test (1)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-params jar 5.2.0

Project Modules

There are no modules declared in this project.


Maven Central Build Status semantic-release

Epsagon Instrumentation for Java

Trace

This package provides tracing to Java applications for the collection of distributed tracing and performance metrics in Epsagon.

Getting The Packages

Maven

For Maven projects, use:

<dependency>
  <groupId>com.epsagon</groupId>
  <artifactId>epsagon</artifactId>
  <version>{Epsagon version}</version>
</dependency>

The version will be in the format n.n.n, latest maven-central version is specified at the top as a badge.

Gradle

For Gradle projects, first add the nuiton repository:

repositories {
    ...
    maven {
        url 'http://maven.nuiton.org/release/'
    }
}

Then, configure epsagon as a dependency:

compile "com.epsagon:epsagon:${epsagon_version}"

The version will be in the format n.n.n, latest maven-central version is specified at the top as a badge.

Getting Started

Quick Start

The easiest way to get started is as following:

  • set the entry point to your Lambdas as com.epsagon.EpsagonRequestHandler
  • set the following environment variables:
    • EPSAGON_ENTRY_POINT - The real entry point to your code, the one you had previously configured (should be something like com.yourcompany.YourHandler::handlerMethod)
    • EPSAGON_TOKEN - Epsagon's token, can be found at the Dashboard
    • EPSAGON_APP_NAME - A name for the application of this function, optional.

And that's it! Your function is ready for invocation.

Alternative (No Environment Variables)

If you do not want to configure environment variables, please use this alternative:

First, create a simple class that extends com.epsagon.EpsagonRequestHandler like so:

import com.epsagon.EpsagonRequestHandler;

public class EpsagonWrapper extends EpsagonRequestHandler {
    static {
        try {
            init("com.yourcompany.YourHandler::yourHandlerMethod")
                    .setToken("<your token>")
                    .setAppName("<your application name>");
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

The class should have a static initializer that calls the EpsagonRequestHandler.init() method, and gives it your Lambda's actual entry point as a parameter. The return value of this method is an EpsagonConfiguration object. Configure your token and application name using this object, like the example shows.

Finally, set this class as the entry point of your Lambda (instead of your original handler). This class will automatically load your original handler and execute it.

Copyright

Provided under the MIT license. See LICENSE for details.

Copyright 2020, Epsagon

com.epsagon

Epsagon

Automated Tracing for Cloud Microservices

Versions

Version
1.6.0
1.5.1
1.5.0
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.0
1.0.2