Giter Club home page Giter Club logo

easeagent-spring-petclinic's Introduction

EaseAgent-Spring-PetClinic

A repository demonstrates how to leverage the EaseAgent to monitor java applications.

Purpose

With the EaseAgent, the metrics of spring-petclinic applications like throughput, latency, and tracing data could be collected Prometheus and tempo. The Grafana allows us to query, visualize, on and understand the metrics that we stored in tempo and Prometheus.

Quick Start

Prerequisites

  • Make sure you have installed the docker, docker-compose in your environment.
  • Make sure your docker version is higher than v19.+.
  • Make sure your docker-compose version is higher than v2.+.

Start the full stack

We leverage the docker-compose to provision the full-stack service, services include:

  • spring-petclinic services:
    • config-server, discovery-server, customers-service, vets-service, visits-service, api-gateway
  • tempo service is dedicated to collecting the tracing data of the spring-petclinic services.
  • prometheus service which is dedicated scrapes the metrics of the spring-petclinic services.
  • grafana service is dedicated to visualizing the metrics and tracing data.
  • loads service which is dedicated to producing loads to all spring-petclinic services.

After you clone the repository, you need to run git submodule update --init to update the submodule, which is the configuration of the spring-petclinic.

git submodule update --init

All images in the stacks are pulled from the docker official registry. You should make sure you can pull images from it. All images are official images. WE HAVE NOT TO CHANGE ANYTHING OF THEM.

Provisioning full-stack command is:

./spring-petclinic.sh start

The script will download the easeagent v2.0.2 release from the Github release page. You should make sure you can access the internet or Github. If you were hard to access the GitHub or internet, you could build easeagent from scratch and put the build target (easeagent-dep.jar) into the easeagent/downloaded/ directory, and rename the file name to easeagent-v2.0.2.jar.

Stop the full stack

After you finished the test, use the following command to destroy the service.

./spring-petclinic.sh stop

Visualization

Just follow the step-by-step instructions which will guide you to get a good visualization.

  • Step 1. In order to get good visualization, you could wait a moment (about five minutes) before Prometheus collects enough metric data. Open a browser (chrome, firefox or edge is good). Input the localhost:3000 in the address bar and press enter to open grafana UI.

  • Step 2. Click the search dashboards, the first icon in the left menu bar. Choose the spring-petclinic-easeagent to open the dashboard we prepare for you.

  • Step 3. You will get a visualization of metrics reported by the EaseAgent. In the dashboard, we classified into two groups. One is the JVM metrics which contain GC executing count, GC executing time, and used memory capacity (Eden, Olden, etc...). The second is the important metrics of the application, including throughput, latency, in different measures, for example, HTTP request throughput and latency, JDBC SQL throughput, and latency.

metric

  • Step 4. If you want to check the tracing data, you could click the explore in the left menu bar. Click the Search - beta to switch search mode. Click search query button in the right up corner, there is a list containing many tracing. Chose one to click.

tracing

-- End --

easeagent-spring-petclinic's People

Contributors

zhao-kun avatar oseenix avatar

Stargazers

devopsjana avatar

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.