feat: added docs for Angular (#5132)

* feat: added docs for Angular

* chore: updated app ts file
This commit is contained in:
CheetoDa 2024-06-03 13:28:42 +05:30 committed by GitHub
parent 592073a564
commit 03838f5fcc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 1675 additions and 0 deletions

View File

@ -0,0 +1,92 @@
 
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
 
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'https://ingest.{{REGION}}.signoz.cloud:443/v1/traces',
headers: {
'signoz-access-token': '{{SIGNOZ_INGESTION_KEY}}',
},
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
 
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```
 
### Step 4: Dockerize your application
Update your Dockerfile as:
```dockerfile
...
# Run the app with the required OpenTelemetry configuration. app.js is your application main file.
CMD ["ng", "serve"]
...
```

View File

@ -0,0 +1,23 @@
Once you update your Dockerfile, you can build and run it using the commands below.
 
### Step 1: Build your dockerfile
Build your docker image
```bash
docker build -t <your-image-name> .
```
- `<your-image-name>` is the name of your Docker Image
&nbsp;
### Step 2: Run your docker image
```bash
docker run <your-image-name>
```
&nbsp;

View File

@ -0,0 +1,28 @@
## Setup OpenTelemetry Binary as an agent
&nbsp;
As a first step, you should install the OTel collector Binary according to the instructions provided on [this link](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/).
&nbsp;
While creating the `config.yaml` during the installation fo the OTel Collector Binary, you need to enable CORS under the receivers section so that you don't get CORS error while sending your Traces to SigNoz Cloud. See the code snippet below to understand how you can enable CORS in your config file:
```yaml
http:
+ cors:
+ allowed_origins:
+ - <Frontend-application-URL> # URL of your Frontend application. Example -> http://localhost:4200, https://netflix.com etc.
```
`<Frontend-application-URL>` - URL where your frontend application is running. For Example, `http://localhost:4200` or `https://netflix.com` etc.
**NOTE:** Make sure to restart your collector after making the config changes
Once you are done setting up the OTel collector binary and enabling CORS, you can follow the next steps.
&nbsp;

View File

@ -0,0 +1,93 @@
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```
&nbsp;
### Step 4: Dockerize your application
Update your Dockerfile as:
```dockerfile
...
# Run the app with the required OpenTelemetry configuration. app.js is your application main file.
CMD ["ng", "serve"]
...
```

View File

@ -0,0 +1,23 @@
Once you update your Dockerfile, you can build and run it using the commands below.
&nbsp;
### Step 1: Build your dockerfile
Build your docker image
```bash
docker build -t <your-image-name> .
```
- `<your-image-name>` is the name of your Docker Image
&nbsp;
### Step 2: Run your docker image
```bash
docker run <your-image-name>
```
&nbsp;

View File

@ -0,0 +1,24 @@
## Install otel-collector in your Kubernetes infra
&nbsp;
Add the SigNoz Helm Chart repository
```bash
helm repo add signoz https://charts.signoz.io
```
&nbsp;
If the chart is already present, update the chart to the latest using:
```bash
helm repo update
```
&nbsp;
Install the Kubernetes Infrastructure chart provided by SigNoz
```bash
helm install my-release signoz/k8s-infra \
--set otelCollectorEndpoint=ingest.{{REGION}}.signoz.cloud:443 \
--set otelInsecure=false \
--set signozApiKey={{SIGNOZ_INGESTION_KEY}} \
--set global.clusterName=<CLUSTER_NAME>
```
- Replace `<CLUSTER_NAME>` with the name of the Kubernetes cluster or a unique identifier of the cluster.

View File

@ -0,0 +1,83 @@
&nbsp;
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,11 @@
&nbsp;
Once you are done intrumenting your Angular application, you can run it using the below command
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,80 @@
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'https://ingest.{{REGION}}.signoz.cloud:443/v1/traces',
headers: {
'signoz-access-token': '{{SIGNOZ_INGESTION_KEY}}',
},
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,9 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below command
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,103 @@
## Setup OpenTelemetry Binary as an agent
&nbsp;
### Step 1: Download otel-collector tar.gz
```bash
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{OTEL_VERSION}}/otelcol-contrib_{{OTEL_VERSION}}_linux_amd64.tar.gz
```
&nbsp;
### Step 2: Extract otel-collector tar.gz to the `otelcol-contrib` folder
```bash
mkdir otelcol-contrib && tar xvzf otelcol-contrib_{{OTEL_VERSION}}_linux_amd64.tar.gz -C otelcol-contrib
```
&nbsp;
### Step 3: Create config.yaml in folder otelcol-contrib with the below content in it
```bash
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
cors:
allowed_origins:
- <Frontend-application-URL> # URL of your Frontend application. Example -> http://localhost:4200, https://netflix.com etc.
hostmetrics:
collection_interval: 60s
scrapers:
cpu: {}
disk: {}
load: {}
filesystem: {}
memory: {}
network: {}
paging: {}
process:
mute_process_name_error: true
mute_process_exe_error: true
mute_process_io_error: true
processes: {}
prometheus:
config:
global:
scrape_interval: 60s
scrape_configs:
- job_name: otel-collector-binary
static_configs:
- targets:
# - localhost:8888
processors:
batch:
send_batch_size: 1000
timeout: 10s
# Ref: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md
resourcedetection:
detectors: [env, system] # Before system detector, include ec2 for AWS, gcp for GCP and azure for Azure.
# Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
timeout: 2s
system:
hostname_sources: [os] # alternatively, use [dns,os] for setting FQDN as host.name and os as fallback
extensions:
health_check: {}
zpages: {}
exporters:
otlp:
endpoint: "ingest.{{REGION}}.signoz.cloud:443"
tls:
insecure: false
headers:
"signoz-access-token": "{{SIGNOZ_INGESTION_KEY}}"
logging:
verbosity: normal
service:
telemetry:
metrics:
address: 0.0.0.0:8888
extensions: [health_check, zpages]
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics/internal:
receivers: [prometheus, hostmetrics]
processors: [resourcedetection, batch]
exporters: [otlp]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
```
&nbsp;
`<Frontend-application-URL>` - URL where your frontend application is running. For Example,` http://localhost:4200` or `https://netflix.com` etc.

View File

@ -0,0 +1,79 @@
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application.
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{MYAPP}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,31 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below commands
&nbsp;
### Step 1: Run OTel Collector
Run this command inside the `otelcol-contrib` directory that you created in the install Otel Collector step
```bash
./otelcol-contrib --config ./config.yaml &> otelcol-output.log & echo "$!" > otel-pid
```
&nbsp;
#### (Optional Step): View last 50 lines of `otelcol` logs
```bash
tail -f -n 50 otelcol-output.log
```
#### (Optional Step): Stop `otelcol`
```bash
kill "$(< otel-pid)"
```
&nbsp;
### Step 2: Run your application
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,80 @@
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'https://ingest.{{REGION}}.signoz.cloud:443/v1/traces',
headers: {
'signoz-access-token': '{{SIGNOZ_INGESTION_KEY}}',
},
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,9 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below command
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,101 @@
## Setup OpenTelemetry Binary as an agent
&nbsp;
### Step 1: Download otel-collector tar.gz
```bash
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{OTEL_VERSION}}/otelcol-contrib_{{OTEL_VERSION}}_linux_arm64.tar.gz
```
&nbsp;
### Step 2: Extract otel-collector tar.gz to the `otelcol-contrib` folder
```bash
mkdir otelcol-contrib && tar xvzf otelcol-contrib_{{OTEL_VERSION}}_linux_arm64.tar.gz -C otelcol-contrib
```
&nbsp;
### Step 3: Create config.yaml in folder otelcol-contrib with the below content in it
```bash
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
cors:
allowed_origins:
- <Frontend-application-URL> # URL of your Frontend application. Example -> http://localhost:4200, https://netflix.com etc.
hostmetrics:
collection_interval: 60s
scrapers:
cpu: {}
disk: {}
load: {}
filesystem: {}
memory: {}
network: {}
paging: {}
process:
mute_process_name_error: true
mute_process_exe_error: true
mute_process_io_error: true
processes: {}
prometheus:
config:
global:
scrape_interval: 60s
scrape_configs:
- job_name: otel-collector-binary
static_configs:
- targets:
# - localhost:8888
processors:
batch:
send_batch_size: 1000
timeout: 10s
# Ref: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md
resourcedetection:
detectors: [env, system] # Before system detector, include ec2 for AWS, gcp for GCP and azure for Azure.
# Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
timeout: 2s
system:
hostname_sources: [os] # alternatively, use [dns,os] for setting FQDN as host.name and os as fallback
extensions:
health_check: {}
zpages: {}
exporters:
otlp:
endpoint: "ingest.{{REGION}}.signoz.cloud:443"
tls:
insecure: false
headers:
"signoz-access-token": "{{SIGNOZ_INGESTION_KEY}}"
logging:
verbosity: normal
service:
telemetry:
metrics:
address: 0.0.0.0:8888
extensions: [health_check, zpages]
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics/internal:
receivers: [prometheus, hostmetrics]
processors: [resourcedetection, batch]
exporters: [otlp]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
```
&nbsp;
`<Frontend-application-URL>` - URL where your frontend application is running. For Example,` http://localhost:4200` or `https://netflix.com` etc.

View File

@ -0,0 +1,79 @@
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application.
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{MYAPP}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,31 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below commands
&nbsp;
### Step 1: Run OTel Collector
Run this command inside the `otelcol-contrib` directory that you created in the install Otel Collector step
```bash
./otelcol-contrib --config ./config.yaml &> otelcol-output.log & echo "$!" > otel-pid
```
&nbsp;
#### (Optional Step): View last 50 lines of `otelcol` logs
```bash
tail -f -n 50 otelcol-output.log
```
#### (Optional Step): Stop `otelcol`
```bash
kill "$(< otel-pid)"
```
&nbsp;
### Step 2: Run your application
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,80 @@
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'https://ingest.{{REGION}}.signoz.cloud:443/v1/traces',
headers: {
'signoz-access-token': '{{SIGNOZ_INGESTION_KEY}}',
},
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,9 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below command
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,101 @@
### Setup OpenTelemetry Binary as an agent
&nbsp;
### Step 1: Download otel-collector tar.gz
```bash
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{OTEL_VERSION}}/otelcol-contrib_{{OTEL_VERSION}}_darwin_amd64.tar.gz
```
&nbsp;
### Step 2: Extract otel-collector tar.gz to the `otelcol-contrib` folder
```bash
mkdir otelcol-contrib && tar xvzf otelcol-contrib_{{OTEL_VERSION}}_darwin_amd64.tar.gz -C otelcol-contrib
```
&nbsp;
### Step 3: Create config.yaml in folder otelcol-contrib with the below content in it
```bash
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
cors:
allowed_origins:
- <Frontend-application-URL> # URL of your Frontend application. Example -> http://localhost:4200, https://netflix.com etc.
hostmetrics:
collection_interval: 60s
scrapers:
cpu: {}
disk: {}
load: {}
filesystem: {}
memory: {}
network: {}
paging: {}
process:
mute_process_name_error: true
mute_process_exe_error: true
mute_process_io_error: true
processes: {}
prometheus:
config:
global:
scrape_interval: 60s
scrape_configs:
- job_name: otel-collector-binary
static_configs:
- targets:
# - localhost:8888
processors:
batch:
send_batch_size: 1000
timeout: 10s
# Ref: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md
resourcedetection:
detectors: [env, system] # Before system detector, include ec2 for AWS, gcp for GCP and azure for Azure.
# Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
timeout: 2s
system:
hostname_sources: [os] # alternatively, use [dns,os] for setting FQDN as host.name and os as fallback
extensions:
health_check: {}
zpages: {}
exporters:
otlp:
endpoint: "ingest.{{REGION}}.signoz.cloud:443"
tls:
insecure: false
headers:
"signoz-access-token": "{{SIGNOZ_INGESTION_KEY}}"
logging:
verbosity: normal
service:
telemetry:
metrics:
address: 0.0.0.0:8888
extensions: [health_check, zpages]
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics/internal:
receivers: [prometheus, hostmetrics]
processors: [resourcedetection, batch]
exporters: [otlp]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
```
&nbsp;
`<Frontend-application-URL>` - URL where your frontend application is running. For Example,` http://localhost:4200` or `https://netflix.com` etc.

View File

@ -0,0 +1,79 @@
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application.
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{MYAPP}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,31 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below commands
&nbsp;
### Step 1: Run OTel Collector
Run this command inside the `otelcol-contrib` directory that you created in the install Otel Collector step
```bash
./otelcol-contrib --config ./config.yaml &> otelcol-output.log & echo "$!" > otel-pid
```
&nbsp;
#### (Optional Step): View last 50 lines of `otelcol` logs
```bash
tail -f -n 50 otelcol-output.log
```
#### (Optional Step): Stop `otelcol`
```bash
kill "$(< otel-pid)"
```
&nbsp;
### Step 2: Run your application
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,80 @@
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{{MYAPP}}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'https://ingest.{{REGION}}.signoz.cloud:443/v1/traces',
headers: {
'signoz-access-token': '{{SIGNOZ_INGESTION_KEY}}',
},
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,9 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below command
```bash
ng serve
```
&nbsp;

View File

@ -0,0 +1,101 @@
## Setup OpenTelemetry Binary as an agent
&nbsp;
### Step 1: Download otel-collector tar.gz
```bash
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{OTEL_VERSION}}/otelcol-contrib_{{OTEL_VERSION}}_darwin_arm64.tar.gz
```
&nbsp;
### Step 2: Extract otel-collector tar.gz to the `otelcol-contrib` folder
```bash
mkdir otelcol-contrib && tar xvzf otelcol-contrib_{{OTEL_VERSION}}_darwin_arm64.tar.gz -C otelcol-contrib
```
&nbsp;
### Step 3: Create config.yaml in folder otelcol-contrib with the below content in it
```bash
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
cors:
allowed_origins:
- <Frontend-application-URL> # URL of your Frontend application. Example -> http://localhost:4200, https://netflix.com etc.
hostmetrics:
collection_interval: 60s
scrapers:
cpu: {}
disk: {}
load: {}
filesystem: {}
memory: {}
network: {}
paging: {}
process:
mute_process_name_error: true
mute_process_exe_error: true
mute_process_io_error: true
processes: {}
prometheus:
config:
global:
scrape_interval: 60s
scrape_configs:
- job_name: otel-collector-binary
static_configs:
- targets:
# - localhost:8888
processors:
batch:
send_batch_size: 1000
timeout: 10s
# Ref: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md
resourcedetection:
detectors: [env, system] # Before system detector, include ec2 for AWS, gcp for GCP and azure for Azure.
# Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
timeout: 2s
system:
hostname_sources: [os] # alternatively, use [dns,os] for setting FQDN as host.name and os as fallback
extensions:
health_check: {}
zpages: {}
exporters:
otlp:
endpoint: "ingest.{{REGION}}.signoz.cloud:443"
tls:
insecure: false
headers:
"signoz-access-token": "{{SIGNOZ_INGESTION_KEY}}"
logging:
verbosity: normal
service:
telemetry:
metrics:
address: 0.0.0.0:8888
extensions: [health_check, zpages]
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics/internal:
receivers: [prometheus, hostmetrics]
processors: [resourcedetection, batch]
exporters: [otlp]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
```
&nbsp;
`<Frontend-application-URL>` - URL where your frontend application is running. For Example,` http://localhost:4200` or `https://netflix.com` etc.

View File

@ -0,0 +1,79 @@
After setting up the Otel collector agent, follow the steps below to instrument your Angular Application.
&nbsp;
### Step 1: Install OpenTelemetry packages
```bash
npm install --save @opentelemetry/sdk-trace-web@^1.21.0
npm install --save @opentelemetry/instrumentation@^0.48.0
npm install --save @opentelemetry/auto-instrumentations-web@^0.36.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.48.0
npm install --save @opentelemetry/resources@^1.21.0
npm install --save @opentelemetry/propagator-b3@^1.21.0
npm install --save @opentelemetry/semantic-conventions@^1.21.0
```
&nbsp;
### Step 2: Create instrument.ts file
```ts
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import {
WebTracerProvider,
ConsoleSpanExporter,
SimpleSpanProcessor,
BatchSpanProcessor,
} from '@opentelemetry/sdk-trace-web';
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import { B3Propagator } from '@opentelemetry/propagator-b3';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
const resource = Resource.default().merge(
new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: '{MYAPP}',
[SemanticResourceAttributes.SERVICE_VERSION]: '0.1.0',
})
);
const provider = new WebTracerProvider({ resource });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(
new BatchSpanProcessor(
new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
})
)
);
provider.register({
propagator: new B3Propagator(),
});
registerInstrumentations({
instrumentations: [
getWebAutoInstrumentations({
'@opentelemetry/instrumentation-document-load': {},
'@opentelemetry/instrumentation-user-interaction': {},
'@opentelemetry/instrumentation-fetch': {
propagateTraceHeaderCorsUrls: /.+/,
},
'@opentelemetry/instrumentation-xml-http-request': {
propagateTraceHeaderCorsUrls: /.+/,
},
}),
],
});
```
&nbsp;
### Step 3: Add the below import to your `main.ts` file.
```ts
import './app/instrument';
```

View File

@ -0,0 +1,31 @@
&nbsp;
Once you are done instrumenting your Angular application, you can run it using the below commands
&nbsp;
### Step 1: Run OTel Collector
Run this command inside the `otelcol-contrib` directory that you created in the install Otel Collector step
```bash
./otelcol-contrib --config ./config.yaml &> otelcol-output.log & echo "$!" > otel-pid
```
&nbsp;
#### (Optional Step): View last 50 lines of `otelcol` logs
```bash
tail -f -n 50 otelcol-output.log
```
#### (Optional Step): Stop `otelcol`
```bash
kill "$(< otel-pid)"
```
&nbsp;
### Step 2: Run your application
```bash
ng serve
```
&nbsp;

View File

@ -285,6 +285,45 @@ import APM_java_tomcat_macOsARM64_quickStart_runApplication from '../Modules/APM
import APM_java_tomcat_macOsARM64_recommendedSteps_setupOtelCollector from '../Modules/APM/Java/md-docs/Tomcat/MacOsARM64/Recommended/tomcat-macosarm64-recommended-installOtelCollector.md';
import APM_java_tomcat_macOsARM64_recommendedSteps_instrumentApplication from '../Modules/APM/Java/md-docs/Tomcat/MacOsARM64/Recommended/tomcat-macosarm64-recommended-instrumentApplication.md';
import APM_java_tomcat_macOsARM64_recommendedSteps_runApplication from '../Modules/APM/Java/md-docs/Tomcat/MacOsARM64/Recommended/tomcat-macosarm64-recommended-runApplication.md';
// Angular
import APM_javascript_angular_docker_quickStart_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/Docker/QuickStart/angular-docker-quickStart-instrumentApplication.md';
import APM_javascript_angular_docker_quickStart_runApplication from '../Modules/APM/Javascript/md-docs/Angular/Docker/QuickStart/angular-docker-quickStart-runApplication.md';
// Angular-Docker-recommended
import APM_javascript_angular_docker_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/Docker/Recommended/angular-docker-recommended-installOtelCollector.md';
import APM_javascript_angular_docker_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/Docker/Recommended/angular-docker-recommended-instrumentApplication.md';
import APM_javascript_angular_docker_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/Docker/Recommended/angular-docker-recommended-runApplication.md';
// Angular-Kubernetes
import APM_javascript_angular_kubernetes_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/Kubernetes/angular-kubernetes-installOtelCollector.md';
import APM_javascript_angular_kubernetes_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/Kubernetes/angular-kubernetes-instrumentApplication.md';
import APM_javascript_angular_kubernetes_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/Kubernetes/angular-kubernetes-runApplication.md';
// Angular-LinuxAMD64-quickstart
import APM_javascript_angular_linuxAMD64_quickStart_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/QuickStart/angular-linuxamd64-quickStart-instrumentApplication.md';
import APM_javascript_angular_linuxAMD64_quickStart_runApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/QuickStart/angular-linuxamd64-quickStart-runApplication.md';
// Angular-LinuxAMD64-recommended
import APM_javascript_angular_linuxAMD64_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/Recommended/angular-linuxamd64-recommended-installOtelCollector.md';
import APM_javascript_angular_linuxAMD64_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/Recommended/angular-linuxamd64-recommended-instrumentApplication.md';
import APM_javascript_angular_linuxAMD64_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/Recommended/angular-linuxamd64-recommended-runApplication.md';
// Angular-LinuxARM64-quickstart
import APM_javascript_angular_linuxARM64_quickStart_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxARM64/QuickStart/angular-linuxarm64-quickStart-instrumentApplication.md';
import APM_javascript_angular_linuxARM64_quickStart_runApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxARM64/QuickStart/angular-linuxarm64-quickStart-runApplication.md';
// Angular-LinuxARM64-recommended
import APM_javascript_angular_linuxARM64_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/LinuxARM64/Recommended/angular-linuxarm64-recommended-installOtelCollector.md';
import APM_javascript_angular_linuxARM64_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxARM64/Recommended/angular-linuxarm64-recommended-instrumentApplication.md';
import APM_javascript_angular_linuxARM64_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/LinuxARM64/Recommended/angular-linuxarm64-recommended-runApplication.md';
// Angular-MacOsAMD64-quickstart
import APM_javascript_angular_macOsAMD64_quickStart_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/QuickStart/angular-macosamd64-quickStart-instrumentApplication.md';
import APM_javascript_angular_macOsAMD64_quickStart_runApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/QuickStart/angular-macosamd64-quickStart-runApplication.md';
// Angular-MacOsAMD64-recommended
import APM_javascript_angular_macOsAMD64_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/Recommended/angular-macosamd64-recommended-installOtelCollector.md';
import APM_javascript_angular_macOsAMD64_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/Recommended/angular-macosamd64-recommended-instrumentApplication.md';
import APM_javascript_angular_macOsAMD64_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/Recommended/angular-macosamd64-recommended-runApplication.md';
// Angular-MacOsARM64-quickstart
import APM_javascript_angular_macOsARM64_quickStart_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsARM64/QuickStart/angular-macosarm64-quickStart-instrumentApplication.md';
import APM_javascript_angular_macOsARM64_quickStart_runApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsARM64/QuickStart/angular-macosarm64-quickStart-runApplication.md';
// Angular-MacOsARM64-recommended
import APM_javascript_angular_macOsARM64_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/Angular/MacOsARM64/Recommended/angular-macosarm64-recommended-installOtelCollector.md';
import APM_javascript_angular_macOsARM64_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsARM64/Recommended/angular-macosarm64-recommended-instrumentApplication.md';
import APM_javascript_angular_macOsARM64_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/Angular/MacOsARM64/Recommended/angular-macosarm64-recommended-runApplication.md';
// ----------------------------------------------------------------------------
/// ////// Python Done
/// ///// JavaScript Start
@ -490,6 +529,7 @@ import APM_javascript_reactjs_macOsARM64_quickStart_runApplication from '../Modu
import APM_javascript_reactjs_macOsARM64_recommendedSteps_setupOtelCollector from '../Modules/APM/Javascript/md-docs/ReactJS/MacOsARM64/Recommended/reactjs-macosarm64-recommended-installOtelCollector.md';
import APM_javascript_reactjs_macOsARM64_recommendedSteps_instrumentApplication from '../Modules/APM/Javascript/md-docs/ReactJS/MacOsARM64/Recommended/reactjs-macosarm64-recommended-instrumentApplication.md';
import APM_javascript_reactjs_macOsARM64_recommendedSteps_runApplication from '../Modules/APM/Javascript/md-docs/ReactJS/MacOsARM64/Recommended/reactjs-macosarm64-recommended-runApplication.md';
// ----------------------------------------------------------------------------
// PHP Docker
import APM_php_docker_quickStart_instrumentApplication from '../Modules/APM/Php/md-docs/Docker/QuickStart/php-docker-quickStart-instrumentApplication.md';
import APM_php_docker_quickStart_runApplication from '../Modules/APM/Php/md-docs/Docker/QuickStart/php-docker-quickStart-runApplication.md';
@ -1445,6 +1485,51 @@ export const ApmDocFilePaths = {
APM_javascript_reactjs_macOsARM64_recommendedSteps_instrumentApplication,
APM_javascript_reactjs_macOsARM64_recommendedSteps_runApplication,
/// -------
// Angular-Kubernetes
APM_javascript_angular_kubernetes_recommendedSteps_setupOtelCollector,
APM_javascript_angular_kubernetes_recommendedSteps_instrumentApplication,
APM_javascript_angular_kubernetes_recommendedSteps_runApplication,
// Angular-LinuxAMD64-recommended
APM_javascript_angular_linuxAMD64_recommendedSteps_setupOtelCollector,
APM_javascript_angular_linuxAMD64_recommendedSteps_instrumentApplication,
APM_javascript_angular_linuxAMD64_recommendedSteps_runApplication,
// Angular-LinuxAMD64-quickstart
APM_javascript_angular_linuxAMD64_quickStart_instrumentApplication,
APM_javascript_angular_linuxAMD64_quickStart_runApplication,
// Angular-LinuxARM64-recommended
APM_javascript_angular_linuxARM64_recommendedSteps_setupOtelCollector,
APM_javascript_angular_linuxARM64_recommendedSteps_instrumentApplication,
APM_javascript_angular_linuxARM64_recommendedSteps_runApplication,
// Angular-LinuxARM64-quickstart
APM_javascript_angular_linuxARM64_quickStart_instrumentApplication,
APM_javascript_angular_linuxARM64_quickStart_runApplication,
// Angular-MacOsAMD64-recommended
APM_javascript_angular_macOsAMD64_recommendedSteps_setupOtelCollector,
APM_javascript_angular_macOsAMD64_recommendedSteps_instrumentApplication,
APM_javascript_angular_macOsAMD64_recommendedSteps_runApplication,
// Angular-MacOsAMD64-quickstart
APM_javascript_angular_macOsAMD64_quickStart_instrumentApplication,
APM_javascript_angular_macOsAMD64_quickStart_runApplication,
// Angular-MacOsARM64-recommended
APM_javascript_angular_macOsARM64_recommendedSteps_setupOtelCollector,
APM_javascript_angular_macOsARM64_recommendedSteps_instrumentApplication,
APM_javascript_angular_macOsARM64_recommendedSteps_runApplication,
// Angular-MacOsARM64-quickstart
APM_javascript_angular_macOsARM64_quickStart_instrumentApplication,
APM_javascript_angular_macOsARM64_quickStart_runApplication,
///--------------------
/// // JavaScript Others
APM_javascript_others_kubernetes_recommendedSteps_setupOtelCollector,
@ -1824,6 +1909,13 @@ export const ApmDocFilePaths = {
APM_javascript_reactjs_docker_recommendedSteps_instrumentApplication,
APM_javascript_reactjs_docker_recommendedSteps_runApplication,
APM_javascript_angular_docker_quickStart_instrumentApplication,
APM_javascript_angular_docker_quickStart_runApplication,
APM_javascript_angular_docker_recommendedSteps_setupOtelCollector,
APM_javascript_angular_docker_recommendedSteps_instrumentApplication,
APM_javascript_angular_docker_recommendedSteps_runApplication,
APM_javascript_others_docker_quickStart_instrumentApplication,
APM_javascript_others_docker_quickStart_runApplication,

View File

@ -47,6 +47,10 @@ export const frameworksMap = {
value: 'reactjs',
label: 'React JS',
},
{
value: 'angular',
label: 'Angular',
},
{
value: 'others',
label: 'Other Web Instrumentation',