• Stars
    star
    103
  • Rank 322,576 (Top 7 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Amazon CloudWatch RUM Web Client

Amazon CloudWatch RUM Web Client

This is the CloudWatch RUM web client source code repository. It hosts a JavaScript library which performs real user monitoring (RUM) telemetry on web applications. Data collected by the RUM web client includes page load timing, JavaScript errors and HTTP requests.

Install as a JavaScript Module

See Installing as a JavaScript Module.

Install as an Embedded Script

See Installing as an Embedded Script.

Additional Documentation:

  1. Configuring the web client
  2. Executing commands
  3. Using the web client with Angular
  4. Using the web client with React
  5. Troubleshooting

Getting Help

Use the following community resources for getting help with the SDK. We use the GitHub issues for tracking bugs and feature requests.

Opening Issues

If you encounter a bug with the CloudWatch RUM web client, we want to hear about it. Before opening a new issue, search the existing issues to see if others are also experiencing the issue. Include the version of the CloudWatch RUM web client, Node.js runtime, and other dependencies if applicable. In addition, include the repro case when appropriate.

The GitHub issues are intended for bug reports and feature requests. For help and questions about using the CloudWatch RUM web client, use the resources listed in the Getting Help section. Keeping the list of open issues lean helps us respond in a timely manner.

Contributing

We support and accept PRs from the community.

See CONTRIBUTING

Build from Source

The CloudWatch RUM web client is developed and built using Node.js version 16 or higher.

To build the CloudWatch RUM web client, run the release process:

npm install
npm run release

The release process creates (1) a web bundle and a debug map for distribution via CDN, and (2) JavaScript modules and TypeScript declaration files for distribution via NPM.

The CDN files are:

./build/assets/cwr.js
./build/assets/cwr.map.js

The NPM files are:

./dist/es/index.js
./dist/es/index.d.ts
./dist/cjs/index.js
./dist/cjs/index.d.ts

Run Tests from Source

To perform exploratory testing, run the Webpack DevServer:

npm install
npm run server

In a browser, navigate to http://localhost:9000.

To run (Jest) unit tests:

npm run test

To run (TestCafe) browser integration tests:

npm run integ:headless
npm run integ:browser

To run (TestCafe) integration tests for a specific browser:

npm run integ -- (browserName)
# for example
npm run integ -- chrome:headless
npm run integ -- chrome

Some features perform monkey patching which is incompatible with TestCafe. In these cases, run Nightwatch as a separate browser integration test target:

npm run integ:local:nightwatch

Pre-commit Tasks

The CloudWatch RUM web client uses pre-commit tasks to lint and format its source code. Before submitting code, check that all linter and formatter warnings have been resolved.

Attempt to automatically repair linter warnings:

npm run lint:fix

Format code:

npm run prettier:fix

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

More Repositories

1

aws-otel-collector

AWS Distro for OpenTelemetry Collector (see ADOT Roadmap at https://github.com/orgs/aws-observability/projects/4)
Go
523
star
2

terraform-aws-observability-accelerator

Open source project to help accelerate and ease observability setup on AWS environments
HCL
226
star
3

observability-best-practices

Observability best practices on AWS
Go
173
star
4

cdk-aws-observability-accelerator

CDK AWS Observability Accelerator
TypeScript
120
star
5

aws-otel-lambda

AWS Distro for OpenTelemetry - AWS Lambda
HCL
119
star
6

aws-o11y-recipes

recipes for observability solutions at AWS
Go
112
star
7

aws-otel-community

Welcome to the AWS Distro for OpenTelemetry project. If you're using monitoring and observability tools for AWS products and services, this is a great place to ask questions, request features and network with other community members.
Java
75
star
8

aws-otel-java-instrumentation

AWS Distro for OpenTelemetry Java Instrumentation Library
Java
63
star
9

aws-otel-helm-charts

AWS Distro for OpenTelemetry (ADOT) Helm Charts
Mustache
44
star
10

aws-otel-js

AWS Distro for OpenTelemetry JavaScript SDK
JavaScript
35
star
11

aws-otel-go

AWS Distro for OpenTelemetry Go
Go
34
star
12

aws-otel-playground

Sample Application for the AWS X-Ray SDK with support for OpenTelemetry
Java
31
star
13

aws-otel-test-framework

AWS Distro for OpenTelemetry Test Framework
Java
27
star
14

aws-sigv4-proxy-admission-controller

This project creates a mutation admission controller that injects AWS SIGv4 proxy as a sidecar.
Go
26
star
15

amazon-managed-grafana-migrator

CLI migration utility to migrate Grafana content to Amazon Managed Grafana
Go
22
star
16

aws-otel-dotnet

AWS Distro for OpenTelemetry .NET
C#
21
star
17

aws-otel-python

AWS Distro for OpenTelemetry Python
Python
20
star
18

aws-otel-php

AWS Distro for OpenTelemetry PHP
PHP
15
star
19

amp-eks-iam

Tool providing easy IAM setup on EKS for Amazon Managed Service for Prometheus (AMP) users.
Go
11
star
20

aws-observability-accelerator

AWS Observability Accelerator
11
star
21

aws-otel-ruby

AWS Distro for OpenTelemetry Ruby
Ruby
8
star
22

amp-k8s-config-examples

Configurations for Prometheus including Kubernetes (k8s) Helm charts and Operators
7
star
23

application-signals-demo

Java
6
star