GithubHelp home page GithubHelp logo

appdynamics / iot-java-sdk Goto Github PK

View Code? Open in Web Editor NEW
6.0 9.0 4.0 200 KB

Appdynamics IoT Java SDK to monitor performance of embedded applications on connected devices

License: Apache License 2.0

Java 100.00%
iot performance performance-monitoring embedded-devices connected-car connected-factory connected-home smart-cities smart-tv set-top-box

iot-java-sdk's Introduction

AppDynamics IoT Java SDK

Table of Contents

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.

  1. Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in <MY_SOURCE_FOLDER>.

  2. 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.

  3. 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>";
  4. 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
  5. Create a new folder where you'll run the deployed code.

    mkdir <MY_DEPLOY_FOLDER>
  6. 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>
  7. Un-tar and run the application.

    cd <MY_DEPLOY_FOLDER> 
    tar xvf appd-iot-sample-app.tar  
    ./appd-iot-sample-app/bin/sample-apps
  8. 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

  1. Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in <MY_SOURCE_FOLDER>.
  2. Make any modifications to the SDK, if desired.
  3. Run the following command from a terminal
    cd <MY_SOURCE_FOLDER>/iot-java-sdk 
    ./gradlew -p sdk/ clean assemble test

Build the Javadocs

  1. Clone or download the repo https://github.com/Appdynamics/iot-java-sdk.git in <MY_SOURCE_FOLDER>.
  2. Make any modifications, if desired.
  3. Run the following command from a terminal
    cd <MY_SOURCE_FOLDER>/iot-java-sdk  
    ./gradlew -p sdk/ clean assemble test generateZippedJavadocs

Documentation

Code Inspection

  • Code Coverage

    The build.gradle file has a task to track code coverage using jacoco

    • 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.html in a browser.
  • Code Quality

    The build.gradle file has a task to track code quality using findbugs

    • 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

  • Coding Standards Inspection The build.gradle file has a task to track code quality using checkstyle

    • 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.

iot-java-sdk's People

Contributors

abhishekbafna avatar lbk003 avatar zhouyaoji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iot-java-sdk's Issues

Fix sample app to send custom event

When someone clones the repo and sends the IoT traffic, it will send only network and error data and the custom event is inside a conditional loop and does not execute by default.

Grammer and stuff for readme

  • Not a full sentence:

Appdynamics IoT Java SDK to monitor performance of embedded applications on connected devices

  • There Overview section is redundant with the iot-java-sdk section

  • Reword

Add these to your sample app by editing.

to

Add your EUM app key and Collector URL to your sample app by editing:

  • Reword

Copy the distribution tar file which includes the appdynamics iot java sdk to this deployment folder.

to

Copy the distribution tar file which includes the Sample App and the AppDynamics IoT Java SDK to this deployment folder.

  • The reference to the sdk git url is sometimes a link, sometimes not. It should be a link always (I think)

  • From just reading the readme, it is unclear if building the sample app also builds the SDK, or if it pulls in a released SDK.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.