OpenCensus Web types
For overview and usage info see the main OpenCensus Web readme.
This package provides TypeScript interfaces and enums for the OpenCensus core trace and metrics model. These are copied from the OpenCensus Node @opencensus/core package.
The library is in alpha stage and the API is subject to change.
@opencensus/core
?
Why not just depend on The @opencensus/core
package includes some Node-specific dependencies
that make it difficult to import in web-specific packages. This will be
particularly true once OpenCensus Web supports building with Bazel (see
rules_typescript on GitHub).
This package resolves these dependency issues by copying the types.ts
and
supporting files from the @opencensus/core
. It also uses a polyfill for the
NodeJS.EventEmitter
type to avoid a dependency on the @types/node
package.
Having the types copied will also make it easier to adopt a build with using Bazel (see rules_typescript), Tsickle, and Closure, which would result in more optimized (smaller) JS binary sizes.
How to refresh the types
To refresh the types for a new release (or a non-released commit) of
@opencensus/core
, modify the copytypes
command in the package.json
file
with the git tag of the new release. You may need to also modify the list of
copied files or the patching logic in the scripts/copy-types.js
file.
Then run npm run copytypes
to copy the types.
Usage
Currently the primary intended usage of OpenCensus Web is to collect spans from the resource timing waterfall of an initial page load and trace on-page user interactions with a series of features like automatic tracing for clicks and route transitions, custom spans, and browser [Performance API][performance-api] data. See the OpenCensus Web readme for details.
In the future we would like to support collecting spans for XHRs and other operations made after the initial page load and then join those back to the Resrouce Timing API information for more detailed network timings and events.
Useful links
- For more information on OpenCensus, visit: https://opencensus.io/
- For more about OpenCensus Web: https://github.com/census-instrumentation/opencensus-web
- For help or feedback on this project, join us on gitter
License
Apache 2.0 - See LICENSE for more information.