0% found this document useful (0 votes)
15 views

GitHub - Dynatrace:openkit-java: OpenKit Java Reference Implementation

The document provides an overview of the Dynatrace OpenKit Java Reference Implementation, which allows for easy instrumentation of applications to gain insights via Dynatrace. It highlights the advantages of being lightweight, dependency-free, and portable across languages, along with its capabilities and limitations. Additionally, it outlines design principles and general remarks for users and contributors.

Uploaded by

mkjp5657
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

GitHub - Dynatrace:openkit-java: OpenKit Java Reference Implementation

The document provides an overview of the Dynatrace OpenKit Java Reference Implementation, which allows for easy instrumentation of applications to gain insights via Dynatrace. It highlights the advantages of being lightweight, dependency-free, and portable across languages, along with its capabilities and limitations. Additionally, it outlines design principles and general remarks for users and contributors.

Uploaded by

mkjp5657
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Product Solutions Resources Open Source Enterprise Pricing Search or jump to...

Sign in Sign up

Dynatrace / openkit-java Public Notifications Fork 34 Star 35

Code Issues 6 Pull requests Actions Projects Security Insights

main 14 Branches 44 Tags Go to file Code About

OpenKit Java Reference Implementation


TheHighriser and openkitdt Pull request #265: RUM-20843 Updating M… 59b3afc · 9 months ago 888 Commits
sdk dynatrace data-ingestion

.github/workflows Pull request #249: Feature/RUM-8830 openkit java shoul… 2 years ago dev-program

docs Pull request #265: RUM-20843 Updating Main to 3.4 9 months ago Readme

Apache-2.0 license
gradle Pull request #249: Feature/RUM-8830 openkit java shoul… 2 years ago
Code of conduct
samples Pull request #174: Adjust Copyright year in Apache 2.0 lic… 4 years ago
Security policy

src Pull request #265: RUM-20843 Updating Main to 3.4 9 months ago Activity

Custom properties
.gitignore updated gitignore 8 years ago
35 stars
CHANGELOG.md Pull request #264: RUM-20843 Release 3.3 9 months ago 17 watching

34 forks
CODE_OF_CONDUCT.md Merge pull request #102 in OP/openkit-java from feature/… 5 years ago
Report repository
CONTRIBUTING.md Merge pull request #103 in OP/openkit-java from feature/… 5 years ago

LICENSE Update LICENSE file and remove APPENDIX 7 years ago


Releases 40

v3.3.0 Latest
README.md Pull request #248: RUM-8734 Working Github actions 3 years ago
on Aug 2, 2024

build.gradle Pull request #249: Feature/RUM-8830 openkit java shoul… 2 years ago + 39 releases

build.xml Pull request #228: Feature/RUM-6216 remove support for… 3 years ago
Packages
generate_javadoc.bat initial commit 8 years ago
No packages published

gradlew compile classes with java 6 and run it against specified J… 7 years ago
Contributors 15
gradlew.bat Merge pull request #36 in OP/openkit-java from feature/A… 6 years ago

settings.gradle Last trial for today 6 years ago

version.properties Pull request #265: RUM-20843 Updating Main to 3.4 9 months ago

README Code of conduct Apache-2.0 license Security


Languages

Dynatrace OpenKit - Java Reference Implementation Java 100.0%

License Apache 2.0 Build & Test passing coverage 95%

We changed the default branch name to main . You can find the necessary steps to update your local clone on
Scott Hanselman's Blog.
We encourage you to rename the default branch in your forks too.

What is the OpenKit?

The OpenKit provides an easy and lightweight way to get insights into applications with Dynatrace by
instrumenting the source code of those applications.

It is best suited for applications running separated from their backend and communicating via HTTP, like rich-
client-applications, embedded devices, terminals, and so on.

The big advantages of the OpenKit are that it's designed to

be as easy-to-use as possible
be as dependency-free as possible (no third party libraries or Dynatrace Agent needed)
be easily portable to other languages and platforms

This repository contains the reference implementation in pure Java. Other implementations are listed as follows:

.NET: https://github.com/Dynatrace/openkit-dotnet/
C/C++: https://github.com/Dynatrace/openkit-native/
JavaScript: https://github.com/Dynatrace/openkit-js

What you can do with the OpenKit

Create Sessions and User Actions


Report values, events, errors and crashes
Trace web requests to server-side PurePaths
Tag Sessions with a user tag
Use it together with Dynatrace

What you cannot do with the OpenKit

Create server-side PurePaths (this functionality is provided by OneAgent SDKs)


Create metrics (use the Custom network devices & metrics API to report metrics)

Design Principles

API should be as simple and easy-to-understand as possible


Incorrect usage of the OpenKit should still lead to valid results, if possible
In case of errors, the API should not throw exceptions, but only log those errors (in verbose mode)
No usage of third-party libraries, should run without any dependencies
Avoid usage of newest Java APIs, should be running on older Java VMs, too
Avoid usage of too much Java-specific APIs to allow rather easy porting to other languages
Design reentrant APIs and document them

General Remarks

All non binary files within the repository are formatted with UNIX style (LF) line endings.

Getting started

Installing and updating OpenKit Java


General concepts
Detailed example
Contributing to OpenKit Java
Supported versions
Upgrade guide

Advanced topics

Building OpenKit Java


OpenKit Java internals

© 2025 GitHub, Inc. Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information

You might also like