GithubHelp home page GithubHelp logo

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

View Code? Open in Web Editor NEW

This project forked from pivotal-cf/pcf-metrics-trace-example-node

0.0 0.0 0.0 1.31 MB

License: MIT License

JavaScript 91.97% Shell 8.03%

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

Build Status

PCF Metrics Node Tracer Example

This is a nodejs repository with three apps: shopping-cart, orders, and payments. These apps use Zipkin 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 nodejs application code independent of tracing.

To add tracing the following steps are neccesary:

  • add the zipkin js express middleware
import express from 'express'
import {expressMiddleware as zipkin} from 'zipkin-instrumentation-express';

const app = new Express();

const ctxImpl = new ExplicitContext();
const recorder = new ConsoleRecorder();
const tracer = new Tracer({ctxImpl, recorder});

app.use(zipkin({tracer, serviceName: 'my service'}));

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-node's People

Contributors

charleshansen avatar rdy avatar tmwoodson avatar weymanf 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.