DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • How to Automatically Detect Multiple Cybersecurity Threats from an Input Text String in Java
  • Build an AI Chatroom With ChatGPT and ZK by Asking It How!
  • How To Get and Set PDF Form Fields in Java
  • How To Validate Archives and Identify Invalid Documents in Java

Trending

  • How To Deploy Helidon Application to Kubernetes With Kubernetes Maven Plugin
  • A Better Web3 Experience: Account Abstraction From Flow (Part 2)
  • Cognitive AI: The Road To AI That Thinks Like a Human Being
  • How To Create a Resource Chart in JavaScript
  1. DZone
  2. Data Engineering
  3. Databases
  4. Instrument Java code your way: TraceView Java API

Instrument Java code your way: TraceView Java API

Patson Luk user avatar by
Patson Luk
·
Jun. 06, 13 · Interview
Like (0)
Save
Tweet
Share
8.24K Views

Join the DZone community and get the full member experience.

Join For Free

When it comes to analyzing your web application’s performance, TraceView has already instruments a wide spectrum of Java components, such as application servers, frameworks and JDBC connections, all with the convenience of simply including TraceView Java agent jar in your JVM. However, have you come across situations that make you think, “It would have been nice if this was traced too”? You can do this with the TraceView Java API!

Don’t feel like coding? Just annotate it!

Shame on you, tablecache.

Have you seen a slowdown in your code, and have some methods you’d like to check? The simplest way is to add the @LogMethod or @ProfileMethod annotation to those methods. Invocations to those methods will then be traced by the Java agent and reflected on your TraceView panels. Since you can assign different layer/profile names for those methods, you can easily group them and gather useful statistics from your TraceView pages! (Heat map, layer/profile summary etc). You might even turn on back trace tracking or store the method return values by tweaking various optional parameters. A simple guide could be found here.

Need more power? Add a few lines of code!

TraceView Java Agent was built for web applications, so traces are normally triggered by web requests. However, this does not mean you are limited to tracing web applications. In fact, you can even trace stand-alone applications with TraceView Java Agent with just a couple lines of code!

For example, you may have a day-end process that perform several scheduled tasks which each run in its own separate thread, some tasks may involve database operations. Adding the 2 steps below not only measures the timing of the job, but also any of the database calls that were invoked during the task itself.

Java API

But wait… where is the code that traces the database operations? You do not need to worry about it! In fact, once you start a Trace using the API, anything comes down the calling stack with layer recognized by TraceView Java Agent (JDBC, Apache Http Client, etc.) will be instrumented.java

Try it out!

That’s it! Kick start the Java process with the TraceView Java Agent and you will start seeing traces of your custom layer on the jobs. By assigning different layer names, you can easily customize the groupings, and even handle different concurrency models by digging into the full API. Sign up for a free account, and start tracing today!

Related Articles

Tracing Black Boxes I: JMX Insight Into JVM Performance

Solving Slow Database Performance In Java and MySQL

TraceView: Now With Free Tracing (and more)!

 

API Java (programming language) Web application Instruments (software)

Opinions expressed by DZone contributors are their own.

Related

  • How to Automatically Detect Multiple Cybersecurity Threats from an Input Text String in Java
  • Build an AI Chatroom With ChatGPT and ZK by Asking It How!
  • How To Get and Set PDF Form Fields in Java
  • How To Validate Archives and Identify Invalid Documents in Java

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: