Skip to content

☕ Open source java agent to transparently instrument and monitor your Java web applications

License

Notifications You must be signed in to change notification settings

ApptuitAI/JInsight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Download Build Status Sonar Cloud Codacy Badge Code Coverage License

JInsight

Open source java agent to transparently collect metrics about various sub-systems in your application.

JInsight currently collects metrics about the following modules/frameworks:

  • JVM metrics
    [✓] Heap, [✓] GC, [✓] Threads, [✓] Classloading, [✓] Threads
  • Web Server metrics
    [✓] Tomcat 8.x, [✓] Jetty 9.X
  • Logging metrics
    [✓] Log4J v1, [✓] Log4J v2, [✓] Logback
  • Cache metrics
    [✓] EHCache, [✓] SpyMemcached client, [✓] Whalin memcached client, [✓] Redis - Jedis client, [x] Redis - Redisson
  • JDBC metrics
    [✓] Generic JDBC Driver
  • Connection pool metrics
    [ X ] C3PO, [ X ] HikraiCP
  • NoSQL Databases
    [ X ] Cassandra, [ X ] Mongo
  • URL connection metrics
    [✓] java.net.HttpURLConnection, [✓] Apache HTTP Client, [✓] Apache Aysnc HTTP Client, [✓] OKHttp
  • Frameworks
    [ X ] Spring, [ X ] Hibernate, [ X ] Jersey, [ X ] GRPC

Refer the Metrics Reference Guide for a comprehensive list of metrics supported out-of-the-box

Design Goals

Transparent

Use a java agent to transparently instrument applications, without requiring any code change

Low overhead

Minimal overhead on Memory and CPU footprint

Server agnostic

Log metrics to a file for offline processing; or report them to a server of your choice: apptuit.ai, Prometheus, Graphite etc.

Screenshots

(click to zoom)
JVM Metrics Tomcat Metrics
EHCache Metrics Log4J Metrics

Usage

Instrumenting a JVM with JInsight Java Agent is refreshingly simple:

  1. Update your java command line to include the jinsight options:
    java -javaagent:/usr/share/java/jinsight.jar -Djinsight.config=/etc/jinsight/jinsight-config.properties -cp helloworld.jar HelloWorld
  2. Save API-TOKEN, global tags, frequency of reporting data etc in the jinsight-config.properties file
  3. (Re)start your JVM

Refer the Agent installation guide for detailed instructions.

If you want to programmatically capture metrics specific to your application/workflows, beyond the out-of-the-box metrics provided by the JInsight agent, we recommend using Dropwizard Metrics library for it. The metrics-apptuit library can be used to push the metrics collected by Dropwizard to ApptuitAI.

LICENSE

Copyright 2017 Agilx, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

☕ Open source java agent to transparently instrument and monitor your Java web applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published