AppDynamics IoT Java SDK
Table of Contents
- Overview
- What is included
- Getting Started
- Download the released jar
- Building the SDK
- Building the Javadocs
- Documentation
- Versioning
- Copyright and License
Overview
This repository contains the AppDynamics IoT Java SDK that can be used in embedded applications to monitor network perfomance, errors, and business metrics.
What is Included
sdk- The Appdynamics Java SDK for IoT.sample-apps- A sample application showing how to use the SDK.docs- The Javadoc for the SDK. It can also be viewed online.
Getting Started
The best way to understand how to use the SDK is to run the sample application.
-
Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in
<MY_SOURCE_FOLDER>. -
Get an EUM App Key and a Collector URL. Note: If you do not have an AppDynamics account, you can sign up for one here.
-
Add your EUM app key and Collector URL to your sample app by making the following edits to
<MY_SOURCE_FOLDER>/iot-java-sdk/sample-apps/src/main/java/com/appdynamics/iotapps/MyIoTSampleApp.java:public static final String APP_KEY = "<YOUR-APP-KEY>"; public static final String COLLECTOR_URL = "<YOUR-COLLECTOR-URL>";
-
Build the sample-app by running the following commands. (It also builds the SDK.)
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew -p sample-apps clean distTar
-
Create a new folder where you'll run the deployed code.
mkdir <MY_DEPLOY_FOLDER>
-
Copy the distribution tar file that includes the sample app and the AppDynamics IoT Java SDK to this deployment folder.
cp ./sample-apps/build/distributions/appd-iot-sample-app.tar <MY_DEPLOY_FOLDER>
-
Un-tar and run the application.
cd <MY_DEPLOY_FOLDER> tar xvf appd-iot-sample-app.tar ./appd-iot-sample-app/bin/sample-apps
-
Confirm the IoT Data was reported to the EUM Collector.
Download the Released JAR
The released version of the SDK can be downloaded from https://github.com/Appdynamics/iot-java-sdk/releases.
Build the SDK
- Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in
<MY_SOURCE_FOLDER>. - Make any modifications to the SDK, if desired.
- Run the following command from a terminal
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew -p sdk/ clean assemble test
Build the Javadocs
- Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in
<MY_SOURCE_FOLDER>. - Make any modifications, if desired.
- Run the following command from a terminal
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew -p sdk/ clean assemble test generateZippedJavadocs
Documentation
- Javadoc
- REST API docs - provides the payload structure sent to the Appdynamics EUM Collector.
- User Documents - provides an overview about the IoT monitoring capabilities.
- Support for other languages:
Code Inspection
-
Code Coverage
The
build.gradlefile has a task to track code coverage usingjacoco- Generate the report with the following gradlew command:
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew test jacocoTestReport
- View the report by opening the file
<MY_SOURCE_FOLDER>/iot-java-sdk/sdk/build/jacocoHtml/index.htmlin a browser.
- Generate the report with the following gradlew command:
-
Code Quality
The
build.gradlefile has a task to track code quality usingfindbugs- Generate report with the following gradlew command:
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew check
- View the report by opening the files
<MY_SOURCE_FOLDER>/iot-java-sdk/sdk/build/reports/findbugs/main.html<MY_SOURCE_FOLDER>/iot-java-sdk/sdk/build/reports/findbugs/test.html<MY_SOURCE_FOLDER>/iot-java-sdk/sample-apps/build/reports/findbugs/main.html - Generate report with the following gradlew command:
-
Coding Standards Inspection The
build.gradlefile has a task to track code quality usingcheckstyle- Generate the report with the following gradlew command
cd <MY_SOURCE_FOLDER>/iot-java-sdk ./gradlew check
- View the reports in
<MY_SOURCE_FOLDER>/iot-java-sdk/*/build/reports/checkstyle/
Versioning
Versioning of releases of this project is maintained under the Semantic Versioning Guidelines
Copyright and License
The code is released under the Apache 2.0 License. Copyright (c) 2018 AppDynamics LLC and its affiliates.