APM Java Tracer

Application performance monitoring and debuging of Java applications.
Designed as an alternative to NewRelic and OverOps.


Learn More

APM - application performance monitoring

APM - application performance monitoring become more and more important during the last years to gain insights about JVM to ensure platform is running as expected and enables prediction of upcoming problems beforehand which have negative on business - for customers and IT as well.

The JVM - Java Virtual Machine enables this capability by providing an agent interface where the use became popular these days.

The main purpose of an APM agent with its infrastructure is to provide data to monitor the systems and environments as a whole and the interaction between systems having a special view to infrastructure, network and runtime behaviour to figure out bottlenecks.
It bridges the gap between HTTP serve time and Slow Query logs by connecting HTTP requests calls, long running database queries and microservice interactions via REST with the source code to figure out problems quicker without producing and evaluating tons of log messages.

But there is a gap.

All these APM-tool provide a system view to support DevOps and engineers, but the JVM based application or micro service is still a black box...
Data flow and business logic of the application is still hidden what makes is difficult to reproduce defects and there is often no way to reproduce errors.
Here Engineers are lost. Data sources contain different data in different stages, stages are not equally setup access to databases are restricted and direct REST calls to micro services might lead to data inconsistencies.

There will still be the need to create releases with enhanced logging, create proxy releases to gain more detailed log data which must be acknowledged by different departments what takes time. The later a bug is found the more expensive it becomes and vice versa.
Now IT gets pressured from marketing, product and managers cause critical defects are cost expensive.

APM Java Tracer - Filling the gap

When writing this tool we where focused on missing features and capabilities APM providers do not offer or only with high prices and restrictions.

No tool on the market was satisfying our needs while we worked other projects. This tool filles those gaps and reflects the developers daily need:

What is APM Java Tracer

Tracer was designed to have an alternative to other APM tools already on the market for different reasons:

NewRelic does not give me the insights I needed for finding the root cause of the applications behaviour and the stack trace was not sufficient without the values and parameters which provoked the exception.
Furthermore without an exception it didn't give me any possibility to reproduce an exception or wrong behaviour.

The same for Elastic-APM and OpenTelemetry but both can be used on-premises.

Elastic-APM does not cover that man libraries like OpenTelemetry does but has already a clean ready-to-use UI based on data directly send to an ElasticSearch cluster.

OpenTelemetry on the other hand has a wide range of instrumentations of different libraries used for Java and has an open architecture, but you invest time and resources to integrate it and you need accept a longer learning curve. It means Tracer is a good choice for IT start-ups. Furthermore, we plan to support OpenTelemetry protocol so that our telemetry data can be received by an existing infrastructure based on this technology.

OverOps is the only similar tool, giving more insights about the application flow. It was told expensive and not that stable. Another point is the necessity not to give any sensitive data out of the company.

Ideas and focus areas

Values for managers

Easy to use:
  • low invest on time and resources
  • high learning curve
  • instantly ready to start and work with - ideal for tech start-ups
  • Configuration over coding paradigm - reduces developer effort and costs.
For simple debugging purposes no clusters or servers must be provided, therefore it reduces the need for infrastructure and DevOps knowledge, further resources and costs.
Neither time consuming infrastructure setup necessary nor high availability clusters for local or staging environment. For staging/testing this tool is ideal to figure out problems before they occur in production. APM tools are usually used only in production.

It is crucial to gain information about critical operations, defect detection and removal, finding root cause quickly to save money. As an engineer I want to have data about problems without searching to quickly figure out root cause providing patches to increase customer satisfaction. Especially for multithreaded applications. Current tools do only partially provide this capability.

Sensitive data which occur i.e. in database queries can be kept inhouse. Thereby it is simple to enable GSDVO compliance by establishing data deleting processes when they are older than 90 days.

Data economy: only necessary or critical data is recorded to save storage caring for infrastructure to maintain those data.

Raw data availability and delivery for further use cases like simple implementation of alerting.

Values for engineers

  • DSGVO compliant by on-premises data storage and exploration
  • Debug your code on every stage: locally, staging or production
  • Works without building and deploying applications
  • Non-intrusive debugging - no necessity of changing code or writing additional logging code, releasing etc. to figure out root cause
  • Designed to change configuration not code to accelerate finding root cause of a defect
  • No need to figure out defect behaviour, fault/failure state it is collected and kept for you
  • Occurring bugs are easy to reproduce, no need for database dumps or similar
  • Having ability of debugging in concurrent architectures where I can't debug step by step
  • Stop observing if certain criteria are satisfied
  • Can be easily setup locally
  • Comes with an application to receive and explore data
  • Independent from 3rd party tools, no further infrastructure is needed but supported like Plain file, ELK and MongoDB
  • You can process those collected data to figure out which part of your code is really unused
  • You can write checks where data should be encrypted and not visible or for occurrences of a certain data configurations
  • Logfile handling and procedures are untouched

Features

Independent

Platform independent and independent from 3rd party tools. Start instantly by hooking your application or start critical applications with this extension.

Supports various data sinks lie ELK, MongoDB, File,...

DSGVO readiness

Java Tracer works completely on-premise and is DSGVO ready. Data transfer works with AES 256 bit encryption.

Non intrusive - Configuration over coding

No code changes, debugging information enrichment or complete build and deployment cycles needed. This is intended to keep current system state a is for better error reproduction.

Flexible and adaptable

Many configuration options available. Can track complete interactions independently from occurred errors and stop tracking by certain criteria.

Data economy

It can be configured to focus on crucial parts of your application instead of searching for defects. This increases application performance.

Debugging made easy

Save time to find defect root cause quickly without extra release efforts

Download

After our successful start at our customers we now plan to implement:

Roadmap - What's next

After our successful start at our customers we now plan to implement:
  • log only necessary events specified by userLicense
  • criterias, where agent stops working like special exception was thrown or defined methods where called
  • support for annotation definitions
  • special Spring Boot support
  • OpenTelemetry support
  • JVM memory consumption

Reporting of unexpected behaviour or defects

In case of errors or bugs please use contact form to get in touch.
Please do not forget providing us with code where agent is failing and the agent's log messages.

License

Retrieve License
Working license

This license enables you examining the program flow of your application without any restriction.
The license is valid for 30 days.

Download