GithubHelp home page GithubHelp logo

isabella232 / pcf-metrics-trace-example-spring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vmware-archive/pcf-metrics-trace-example-spring

0.0 0.0 0.0 236 KB

License: MIT License

Java 94.47% Shell 5.53%

pcf-metrics-trace-example-spring's Introduction

Build Status

PCF Metrics Spring Tracer Example

This is a Spring Boot repository with three apps: shopping-cart, orders, and payments. These apps use Spring Cloud Sleuth to trace the calls between them. The traces can then be viewed in PCF-Metrics.

Creating your own tracer apps

Most of the app code is standard Spring Boot application code independent of tracing.

To add tracing the following steps are neccesary:

  • Each app should have the compile('org.springframework.cloud:spring-cloud-starter-sleuth') dependency in its build.gradle.

  • Each SpringBootApplication should have the following snippet:

@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

This allows sleuth to determine which RestTemplate to insert itself into.

  • Optionally, to see the parent span id in the app logs, the following line can be added to application.properties:

logging.pattern.level: "%clr(%5p) %clr([${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-B3-ParentSpanId:-},%X{X-Span-Export:-}]){yellow}"

Parent Span Id will show up in the router logs even without this property.

Using the example apps

DEPLOY

To use the script, you must login as a user that has the ability to assign space permissions and make spaces. It will create a given shopping-cart, orders, and payments app that can be used to preview an example trace.

To deploy, use the script ./scripts/deploy.sh. Set the SUFFIX ENV var to a unique identifier for your tracer applications.

For example

cf login
SUFFIX=test ./scripts/deploy.sh

CURL APPS

Curl the /checkout endpoint for the given shopping cart app.

For example

curl shopping-cart-test.cfapps.io/checkout

CLEANUP

To cleanup, use the script ./scripts/cleanup.sh. Set the SUFFIX ENV var to the same identifier used for deployment.

For example

cf login
SUFFIX=test ./scripts/cleanup.sh

Viewing in PCF-Metrics

To view the trace in PCF-Metrics, go to the shopping-cart app in PCF-Metrics. Find the log corresponding to the /checkout endpoint and click the 'View in Trace Explorer' icon.

For example

metrics-trace-example

pcf-metrics-trace-example-spring's People

Contributors

asaikali avatar rdy 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.