@opencensus/web-scripts

OpenCensus Web scripts brings all the main OpenCensus Web packages to provide distributions for easy use in web applications via <script> tags.

Usage no npm install needed!

<script type="module">
  import opencensusWebScripts from 'https://cdn.skypack.dev/@opencensus/web-scripts';
</script>

README

OpenCensus Web All (JS bundles)

Gitter chat

For overview and usage info see the main OpenCensus Web readme.

This package brings all of the main functionality of the OpenCensus Web packages into a variety of distributions for easy inclusion into web applications via a <script> tag.

The library is in alpha stage and the API is subject to change.

Build commands

To generate production minified JS bundles run npm run build:prod. For non-minified bundles use npm run build:dev.

To serve the bundles from a local webpack server run npm run start:webpack-server.

Generated scripts

These are the generated bundles. Where we give the possibility to import either only the initial load page code or the whole tracing code.

If you don't mind loading a single larger bundle on the initial page load, use:

  • ./dist/initial-load-all.js - This script combines the functionality of the instrument-initial-load.js and export-initial-load.js below. That is, it records spans based on the resource timing API for the initial page load and exports it to the OpenCensus Agent based on configured global variables. See the main OpenCensus Web readme for details.

If you would like to minimize the amount of JS loaded initially, you can use these two bundles to do instrumentation first and then an export more lazily:

  • ./dist/instrument-initial-load.js - This is a small script that sets up the instrumentation configuration for getting resource timing span data for the initial page load. Specifically, it starts recording Long Tasks and increases the resource timing buffer size. This code should be loaded as part of the initial page load
  • ./dist/export-initial-load.js - This script exports the resouce timing and long task information for the initial load to the agent. It can be retrieved after the initial page load has fully completed so it being downloaded and parsed doesn't need to compete with resources for the main page load.

If your application already depends on Zone.js, the case for Angular, use:

  • ./dist/tracing-all-zone-peer-dep.js - This script combines all the functionality of OC Web, including the initial page load and user interaction tracker. That is, it records spans based on the resource timing API for the initial page load and exports it to the OpenCensus Agent based on configured global variables and starts the interaction tracker for user interaction traces exported to the OC Anget as well . See the main OpenCensus Web readme for details.

If your application does not depend on Zone.js, that is the case for framworks like React or VueJs, use:

  • ./dist/tracing-all-with-zone.js - This script combines all the functionality of OC Web, including the initial page load and user interaction tracker to start the tracing, plus the code of Zone.js. That is, it records spans based on the resource timing API for the initial page load and exports it to the OpenCensus Agent based on configured global variables and starts the interaction tracker for user interaction traces exported to the OC Anget as well. Using this script you do not have to add the hard dependency of Zone.js. See the main OpenCensus Web readme for details.

Useful links

License

Apache 2.0 - See LICENSE for more information.