Name: pcf-metrics-trace-example-spring
Owner: Pivotal Cloud Foundry
Description: null
Created: 2017-02-01 18:13:34.0
Updated: 2018-03-23 21:15:18.0
Pushed: 2018-03-23 21:15:17.0
Homepage: null
Size: 233
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
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:
n
ic RestTemplate restTemplate() {
return new RestTemplate();
This allows sleuth to determine which RestTemplate to insert itself into.
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.
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.
ogin
IX=test ./scripts/deploy.sh
Curl the /checkout
endpoint for the given shopping cart app.
shopping-cart-test.cfapps.io/checkout
To cleanup, use the script ./scripts/cleanup.sh
.
Set the SUFFIX
ENV var to the same identifier used for deployment.
ogin
IX=test ./scripts/cleanup.sh
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.