diff --git a/website_docs/_index.md b/website_docs/_index.md
deleted file mode 100644
index e0846eac64c..00000000000
--- a/website_docs/_index.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Javascript
-weight: 20
-description: >-
-
- A language-specific implementation of OpenTelemetry in JavaScript (for Node.JS & the browser).
-cascade:
- github_repo: &repo https://github.com/open-telemetry/opentelemetry-js
- github_subdir: website_docs
- path_base_for_github_subdir: content/en/docs/js/
- github_project_repo: *repo
----
-
-This page contains an introduction to OpenTelemetry in JavaScript. This guide
-will walk you through installation and instrumentation and show you how to
-export data.
-
-## Status and Releases
-
-| Signal | API Status | SDK Status |
-|---------|-------------|-------------------|
-| Trace | Stable | Release Candidate |
-| Metrics | Development | Development |
-| Logs | Roadmap | Roadmap |
-
-You can find release information [here](https://github.com/open-telemetry/opentelemetry-js/releases)
-
-## Further Reading
-
-- [OpenTelemetry for JavaScript on GitHub](https://github.com/open-telemetry/opentelemetry-js)
-- [API Reference](https://open-telemetry.github.io/opentelemetry-js-api)
-- [SDK Reference](https://open-telemetry.github.io/opentelemetry-js)
diff --git a/website_docs/exporters.md b/website_docs/exporters.md
deleted file mode 100644
index 562b914e47d..00000000000
--- a/website_docs/exporters.md
+++ /dev/null
@@ -1,111 +0,0 @@
----
-title: "Exporters"
-weight: 3
----
-
-In order to visualize and analyze your traces and metrics, you will need to export them to a backend such as [Jaeger](https://www.jaegertracing.io/) or [Zipkin](https://zipkin.io/). OpenTelemetry JS provides exporters for some common open source backends.
-
-Below you will find some introductions on how to setup backends and the matching exporters.
-
-- [Jaeger](#jaeger)
-- [Zipkin](#zipkin)
-- [Prometheus](#prometheus)
-- [OpenTelemetry Collector](#opentelemetry-collector)
-
-## Jaeger
-
-To set up Jaeger as quickly as possible, run it in a docker container:
-
-```shell
-$ docker run -d --name jaeger \
- -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
- -p 5775:5775/udp \
- -p 6831:6831/udp \
- -p 6832:6832/udp \
- -p 5778:5778 \
- -p 16686:16686 \
- -p 14268:14268 \
- -p 14250:14250 \
- -p 9411:9411 \
- jaegertracing/all-in-one:latest
-```
-
-Install the exporter package as a dependency for your application:
-
-```shell
-npm install --save @opentelemetry/exporter-jaeger
-```
-
-Update your opentelemetry configuration to use the exporter and to send data to your jaeger backend:
-
-```javascript
-const { JaegerExporter } = require("@opentelemetry/exporter-jaeger");
-const { BatchSpanProcessor } = require("@opentelemetry/tracing");
-
-provider.addSpanProcessor(new BatchSpanProcessor(new JaegerExporter()))
-```
-
-## Zipkin
-
-To set up Zipkin as quickly as possible, run it in a docker container:
-
-```shell
-docker run --rm -d -p 9411:9411 --name zipkin openzipkin/zipkin
-```
-
-Install the exporter package as a dependency for your application:
-
-```shell
-npm install --save @opentelemetry/exporter-zipkin
-```
-
-Update your opentelemetry configuration to use the exporter and to send data to your zipkin backend:
-
-```javascript
-const { ZipkinExporter } = require("@opentelemetry/exporter-zipkin");
-const { BatchSpanProcessor } = require("@opentelemetry/tracing");
-
-provider.addSpanProcessor(new BatchSpanProcessor(new ZipkinExporter()))
-```
-
-## Prometheus
-
-To set up Prometheus as quickly as possible, run it in a docker container.
-You will need a `prometheus.yml` to configure the backend, use the following example
-and modify it to your needs:
-
-```yml
-global:
- scrape_interval: 15s
- evaluation_interval: 15s
-
-scrape_configs:
- - job_name: "prometheus"
- static_configs:
- - targets: ["localhost:9090"]
-```
-
-With this file you can now start the docker container:
-
-```shell
-docker run \
- -p 9090:9090 \
- -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml \
- prom/prometheus
-```
-
-Update your opentelemetry configuration to use the exporter and to send data to your prometheus backend:
-
-```javascript
-const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');
-const { MeterProvider } = require('@opentelemetry/metrics');
-const meter = new MeterProvider({
- exporter: new PrometheusExporter({port: 9090}),
- interval: 1000,
-}).getMeter('prometheus');
-```
-
-## OpenTelemetry Collector
-
-If you are looking for a vendor-agnostic way to receive, process and export your
-telemetry data follow the instructions to setup a [OpenTelemetry collector](https://opentelemetry.io/docs/collector/)
diff --git a/website_docs/getting_started/_index.md b/website_docs/getting_started/_index.md
deleted file mode 100644
index 3ab3b1ca5f6..00000000000
--- a/website_docs/getting_started/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: "Getting Started"
-weight: 1
----
-These two guides for Node.JS and the browser use simple examples in javascript to get you started with OpenTelemetry. Both will show you the following steps:
-
-- Install the required OpenTelemetry libraries
-- Initialize a global [tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#tracer)
-- Initialize and register a [span exporter](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-exporter)
diff --git a/website_docs/getting_started/browser.md b/website_docs/getting_started/browser.md
deleted file mode 100644
index 65429d47131..00000000000
--- a/website_docs/getting_started/browser.md
+++ /dev/null
@@ -1,238 +0,0 @@
----
-title: "Browser"
-weight: 2
----
-
-This guide uses the example application in HTML & javascript provided below, but the steps to instrument your own application should be broadly the same.
-
-- [Example Application](#example-application)
- - [Installation](#installation)
- - [Initialization and Configuration](#initialization-and-configuration)
- - [Creating a Tracer Provider](#creating-a-tracer-provider)
- - [Creating an Exporter](#creating-an-exporter)
- - [Add Instrumentations](#add-instrumentations)
-- [Meta Packages for Web](#meta-packages-for-web)
-- [Instrumentation with Browser Extension](#instrumentation-with-browser-extension)
-
-## Example Application
-
-This is a very simple guide, if you'd like to see more complex examples go to [examples/tracer-web](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web)
-
-Copy the following file into an empty directory and call it `index.html`.
-
-```html
-
-
-
-
- Document Load Instrumentation Example
-
-
-
-
-
-
- Example of using Web Tracer with document load instrumentation with console exporter and collector exporter
-
-
-```
-
-### Installation
-
-To create traces in the browser, you will need `@opentelemetry/sdk-trace-web`, and the instrumentation `@opentelemetry/instrumentation-document-load`:
-
-```shell
-npm init -y
-npm install --save @opentelemetry/api @opentelemetry/sdk-trace-web @opentelemetry/instrumentation-document-load @opentelemetry/context-zone
-```
-
-### Initialization and Configuration
-
-Create a empty file called `document-load.js` and add the following code to your html right before the body end tag:
-
-```html
-
-```
-
-We will add some code that will trace the document load timings and output those as OpenTelemetry Spans.
-
-### Creating a Tracer Provider
-
-Add the following code to the `document-load.js` to create a tracer provider, which brings the instrumentaion to trace document load:
-
-```javascript
-import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
-import { DocumentLoadInstrumentation } from '@opentelemetry/instrumentation-document-load';
-import { ZoneContextManager } from '@opentelemetry/context-zone';
-import { registerInstrumentations } from '@opentelemetry/instrumentation';
-
-const provider = new WebTracerProvider();
-
-provider.register({
- // Changing default contextManager to use ZoneContextManager - supports asynchronous operations - optional
- contextManager: new ZoneContextManager(),
-});
-
-// Registering instrumentations
-registerInstrumentations({
- instrumentations: [
- new DocumentLoadInstrumentation(),
- ],
-});
-```
-
-In the following we will use [parcel](https://parceljs.org/) as web application bundler, but you can of course also use any other build tool.
-
-Run
-
-```shell
-npx parcel index.html
-```
-
-and open the development webserver (e.g. at `http://localhost:1234`) to see if your code works.
-
-There will be no output of traces yet, for this we need to add an exporter
-
-### Creating an Exporter
-
-In the following example, we will use the `ConsoleSpanExporter` which prints all spans to the console.
-
-In order to visualize and analyze your traces, you will need to export them to a tracing backend.
-Follow [these instructions](../exporters.md) for setting up a backend and exporter.
-
-You may also want to use the `BatchSpanProcessor` to export spans in batches in order to more efficiently use resources.
-
-To export traces to the console, modify `document-load.js` so that it matches the following code snippet:
-
-```javascript
-import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
-import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
-import { DocumentLoadInstrumentation } from '@opentelemetry/instrumentation-document-load';
-import { ZoneContextManager } from '@opentelemetry/context-zone';
-import { registerInstrumentations } from '@opentelemetry/instrumentation';
-
-const provider = new WebTracerProvider();
-provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
-
-provider.register({
- // Changing default contextManager to use ZoneContextManager - supports asynchronous operations - optional
- contextManager: new ZoneContextManager(),
-});
-
-// Registering instrumentations
-registerInstrumentations({
- instrumentations: [
- new DocumentLoadInstrumentation(),
- ],
-});
-```
-
-Now, rebuild your application and open the browser again. In the console of the developer toolbar you should see some traces being exporterd:
-
-```json
-{
- "traceId": "ab42124a3c573678d4d8b21ba52df3bf",
- "parentId": "cfb565047957cb0d",
- "name": "documentFetch",
- "id": "5123fc802ffb5255",
- "kind": 0,
- "timestamp": 1606814247811266,
- "duration": 9390,
- "attributes": {
- "component": "document-load",
- "http.response_content_length": 905
- },
- "status": {
- "code": 0
- },
- "events": [
- {
- "name": "fetchStart",
- "time": [
- 1606814247,
- 811266158
- ]
- },
- {
- "name": "domainLookupStart",
- "time": [
- 1606814247,
- 811266158
- ]
- },
- {
- "name": "domainLookupEnd",
- "time": [
- 1606814247,
- 811266158
- ]
- },
- {
- "name": "connectStart",
- "time": [
- 1606814247,
- 811266158
- ]
- },
- {
- "name": "connectEnd",
- "time": [
- 1606814247,
- 811266158
- ]
- },
- {
- "name": "requestStart",
- "time": [
- 1606814247,
- 819101158
- ]
- },
- {
- "name": "responseStart",
- "time": [
- 1606814247,
- 819791158
- ]
- },
- {
- "name": "responseEnd",
- "time": [
- 1606814247,
- 820656158
- ]
- }
- ]
-}
-```
-
-### Add Instrumentations
-
-If you want to instrument AJAX requests, User Interactions and others, you can register additional instrumentations for those:
-
-```javascript
-registerInstrumentations({
- instrumentations: [
- new UserInteractionInstrumentation(),
- new XMLHttpRequestInstrumentation()
- ],
-});
-```
-
-## Meta Packages for Web
-
-To leverage the most common instrumentations all in one you can simply use the
-[OpenTelemetry Meta Packages for Web](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-web)
-
-## Instrumentation with Browser Extension
-
-If you'd like to quickly preview what OpenTelemetry instrumentation would look like with your website (or any other site)
-installed, you can use the [OpenTelemetry Browser Extension](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-browser-extension-autoinjection)
diff --git a/website_docs/getting_started/nodejs.md b/website_docs/getting_started/nodejs.md
deleted file mode 100644
index 2054e320e4f..00000000000
--- a/website_docs/getting_started/nodejs.md
+++ /dev/null
@@ -1,328 +0,0 @@
----
-title: "Node.JS"
-weight: 2
----
-
-This guide will show you how to get started with tracing in Node.js.
-
-- [Example Application](#example-application)
- - [Dependencies](#dependencies)
- - [Code](#code)
-- [Tracing](#tracing)
- - [Dependencies](#dependencies-1)
- - [Core Dependencies](#core-dependencies)
- - [Exporter](#exporter)
- - [Instrumentation Modules](#instrumentation-modules)
- - [Setup](#setup)
- - [Run Application](#run-application)
-- [Metrics](#metrics)
- - [Dependencies](#dependencies-2)
- - [Core Dependencies](#core-dependencies-1)
- - [Exporter](#exporter-1)
- - [Setup](#setup-1)
- - [Run Application](#run-application-1)
-
-## Example Application
-
-This is a small example application we will monitor in this guide.
-
-### Dependencies
-
-Install dependencies used by the example.
-
-```sh
-npm install express
-```
-
-### Code
-
-Please save the following code as `app.js`.
-
-```javascript
-/* app.js */
-
-const express = require("express");
-
-const PORT = process.env.PORT || "8080";
-const app = express();
-
-app.get("/", (req, res) => {
- res.send("Hello World");
-});
-
-app.listen(parseInt(PORT, 10), () => {
- console.log(`Listening for requests on http://localhost:${PORT}`);
-});
-```
-
-Run the application with the following request and open in your web browser to ensure it is working.
-
-```sh
-$ node app.js
-Listening for requests on http://localhost:8080
-```
-
-## Tracing
-
-### Dependencies
-
-The following dependencies are required to trace a Node.js application.
-
-#### Core Dependencies
-
-These dependencies are required to configure the tracing SDK and create spans.
-
-```shell
-npm install @opentelemetry/sdk-node @opentelemetry/api
-```
-
-#### Exporter
-
-In the following example, we will use the `ConsoleSpanExporter` which prints all spans to the console.
-
-In order to visualize and analyze your traces, you will need to export them to a tracing backend.
-Follow [these instructions](../exporters.md) for setting up a backend and exporter.
-
-You may also want to use the `BatchSpanProcessor` to export spans in batches in order to more efficiently use resources.
-
-#### Instrumentation Modules
-
-Many common modules such as the `http` standard library module, `express`, and others can be automatically instrumented using autoinstrumentation modules. To find autoinstrumenatation modules, you can look at the [registry](https://opentelemetry.io/registry/?language=js&component=instrumentation#).
-
-You can also install all instrumentations maintained by the OpenTelemetry authors by using the `@opentelemetry/auto-instrumentations-node` module.
-
-```shell
-npm install @opentelemetry/auto-instrumentations-node
-```
-
-### Setup
-
-The tracing setup and configuration should be run before your application code. One tool commonly used for this task is the [`-r, --require module`](https://nodejs.org/api/cli.html#cli_r_require_module) flag.
-
-Create a file with a name like `tracing.js` which will contain your tracing setup code.
-
-```javascript
-/* tracing.js */
-
-// Require dependencies
-const opentelemetry = require("@opentelemetry/sdk-node");
-const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node");
-
-const sdk = new opentelemetry.NodeSDK({
- traceExporter: new opentelemetry.tracing.ConsoleSpanExporter(),
- instrumentations: [getNodeAutoInstrumentations()]
-});
-
-sdk.start()
-```
-
-### Run Application
-
-Now you can run your application as you normally would, but you can use the `--require` flag to load the tracing code before the application code.
-
-```shell
-$ node --require './tracing.js' app.js
-Listening for requests on http://localhost:8080
-```
-
-Open in your web browser and reload the page a few times, after a while you should see the spans printed in the console by the `ConsoleSpanExporter`.
-
-
-View example output
-
-```json
-{
- "traceId": "3f1fe6256ea46d19ec3ca97b3409ad6d",
- "parentId": "f0b7b340dd6e08a7",
- "name": "middleware - query",
- "id": "41a27f331c7bfed3",
- "kind": 0,
- "timestamp": 1624982589722992,
- "duration": 417,
- "attributes": {
- "http.route": "/",
- "express.name": "query",
- "express.type": "middleware"
- },
- "status": { "code": 0 },
- "events": []
-}
-{
- "traceId": "3f1fe6256ea46d19ec3ca97b3409ad6d",
- "parentId": "f0b7b340dd6e08a7",
- "name": "middleware - expressInit",
- "id": "e0ed537a699f652a",
- "kind": 0,
- "timestamp": 1624982589725778,
- "duration": 673,
- "attributes": {
- "http.route": "/",
- "express.name": "expressInit",
- "express.type": "middleware"
- },
- "status": { code: 0 },
- "events": []
-}
-{
- "traceId": "3f1fe6256ea46d19ec3ca97b3409ad6d",
- "parentId": "f0b7b340dd6e08a7",
- "name": "request handler - /",
- "id": "8614a81e1847b7ef",
- "kind": 0,
- "timestamp": 1624982589726941,
- "duration": 21,
- "attributes": {
- "http.route": "/",
- "express.name": "/",
- "express.type": "request_handler"
- },
- "status": { code: 0 },
- "events": []
-}
-{
- "traceId": "3f1fe6256ea46d19ec3ca97b3409ad6d",
- "parentId": undefined,
- "name": "GET /",
- "id": "f0b7b340dd6e08a7",
- "kind": 1,
- "timestamp": 1624982589720260,
- "duration": 11380,
- "attributes": {
- "http.url": "http://localhost:8080/",
- "http.host": "localhost:8080",
- "net.host.name": "localhost",
- "http.method": "GET",
- "http.route": "",
- "http.target": "/",
- "http.user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
- "http.flavor": "1.1",
- "net.transport": "ip_tcp",
- "net.host.ip": "::1",
- "net.host.port": 8080,
- "net.peer.ip": "::1",
- "net.peer.port": 61520,
- "http.status_code": 304,
- "http.status_text": "NOT MODIFIED"
- },
- "status": { "code": 1 },
- "events": []
-}
-```
-
-
-
-## Metrics
-
-### Dependencies
-
-The following dependencies are required to collect metrics in your Node.js application.
-
-#### Core Dependencies
-
-These dependencies are required to configure the tracing SDK and create spans.
-
-- `@opentelemetry/metrics`
-
-#### Exporter
-
-In the following example, we will use the `ConsoleMetricExporter` which prints all spans to the console.
-
-In order to visualize and analyze your metrics, you will need to export them to a metrics backend.
-Follow [these instructions](../exporters.md) for setting up a backend and exporter.
-
-### Setup
-
-You need a `Meter` to create and monitor metrics. A `Meter` in OpenTelemetry is the mechanism used to create and manage metrics, labels, and metric exporters.
-
-Create a file named `monitoring.js` and add the following code:
-
-```javascript
-/* monitoring.js */
-'use strict';
-
-const { MeterProvider, ConsoleMetricExporter } = require('@opentelemetry/metrics');
-
-const meter = new MeterProvider({
- new ConsoleMetricExporter(),
- interval: 1000,
-}).getMeter('your-meter-name');
-```
-
-Now you can require this file from your application code and use the `Meter` to create and manage metrics. The simplest of these metrics is a counter.
-
-Let's create and export from your `monitoring.js` file a middleware function that express can use to count all requests by route. Modify the `monitoring.js` file so it looks like this:
-
-```javascript
-/* monitoring.js */
-'use strict';
-
-const { MeterProvider, ConsoleMetricExporter } = require('@opentelemetry/metrics');
-
-const meter = new MeterProvider({
- new ConsoleMetricExporter(),
- interval: 1000,
-}).getMeter('your-meter-name');
-
-const requestCount = meter.createCounter("requests", {
- description: "Count all incoming requests"
-});
-
-const boundInstruments = new Map();
-
-module.exports.countAllRequests = () => {
- return (req, res, next) => {
- if (!boundInstruments.has(req.path)) {
- const labels = { route: req.path };
- const boundCounter = requestCount.bind(labels);
- boundInstruments.set(req.path, boundCounter);
- }
-
- boundInstruments.get(req.path).add(1);
- next();
- };
-};
-```
-
-Now import and use this middleware in your application code `app.js`:
-
-```javascript
-/* app.js */
-const express = require("express");
-const { countAllRequests } = require("./monitoring");
-const app = express();
-app.use(countAllRequests());
-/* ... */
-```
-
-Now when you make requests to your service, your meter will count all requests.
-
-**Note**: Creating a new labelSet and binding on every request is not ideal because creating the labelSet can often be an expensive operation. Therefore, the instruments are created and stored in a Map according to the route key.
-
-### Run Application
-
-First, install the dependencies as described above. Here you need to add the following:
-
-```shell
-npm install --save @opentelemetry/metrics
-```
-
-Now you can run your application:
-
-```shell
-$ node app.js
-Listening for requests on http://localhost:8080
-```
-
-Now, when you open in your web browser, you should see the metrics printed in the console by the `ConsoleMetricExporter`.
-
-```json
-{
- "name": "requests",
- "description": "Count all incoming requests",
- "unit": "1",
- "metricKind": 0,
- "valueType": 1
-}
-{ "route": "/" }
-"value": "1"
-```
diff --git a/website_docs/instrumentation.md b/website_docs/instrumentation.md
deleted file mode 100644
index a6376e68e26..00000000000
--- a/website_docs/instrumentation.md
+++ /dev/null
@@ -1,197 +0,0 @@
----
-title: "Instrumentation"
-weight: 3
----
-
-This guide will cover creating and annotating spans, creating and annotating metrics, how to pass context, and a guide to automatic instrumentation for JavaScript. This simple example works in the browser as well as with Node.JS
-
-- [Example Application](#example-application)
-- [Creating Spans](#creating-spans)
-- [Attributes](#attributes)
- - [Semantic Attributes](#semantic-attributes)
-- [Span Status](#span-status)
-
-## Example Application
-
-In the following this guide will use the following sample app:
-
-```javascript
-'use strict';
-
-for (let i = 0; i < 10; i += 1) {
- doWork();
-}
-
-function doWork() {
- console.log("work...")
- // simulate some random work.
- for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
- }
-}
-```
-
-## Creating Spans
-
-As you have learned in the previous [Getting Started](../getting_started/) guide you need a TracerProvider and an Exporter. Install the dependencies and add them to head of your application code to get started:
-
-```shell
-npm installĀ @opentelemetry/sdk-trace-base
-```
-
-```javascript
-const { BasicTracerProvider, ConsoleSpanExporter, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
-
-const provider = new BasicTracerProvider();
-
-// Configure span processor to send spans to the exporter
-provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
-
-provider.register();
-```
-
-Next, initialize the OpenTelemetry APIs to use the BasicTracerProvider bindings.
-This registers the tracer provider with the OpenTelemetry API as the global tracer provider.
-This means when you call API methods like `opentelemetry.trace.getTracer`, they will use this tracer provider.
-If you do not register a global tracer provider, instrumentation which calls these methods will receive no-op implementations
-
-Install the required package and modify your code:
-
-```shell
-npm install @opentelemetry/api
-```
-
-```javascript
-const opentelemetry = require('@opentelemetry/api');
-const tracer = opentelemetry.trace.getTracer('example-basic-tracer-node');
-```
-
-Add a first span to the sample application. Modify your code like the following:
-
-```javascript
-// Create a span. A span must be closed.
-const parentSpan = tracer.startSpan('main');
-for (let i = 0; i < 10; i += 1) {
- doWork(parentSpan);
-}
-// Be sure to end the span.
-parentSpan.end();
-```
-
-Run your application and you will see traces being exported to the console:
-
-```json
-{
- "traceId": "833bac85797c7ace581235446c4c769a",
- "parentId": undefined,
- "name": "main",
- "id": "5c82d9e39d58229e",
- "kind": 0,
- "timestamp": 1603790966012813,
- "duration": 13295,
- "attributes": {},
- "status": { "code": 0 },
- "events": []
-}
-```
-
-Add further spans into the `doWork` method:
-
-```javascript
-// Create a span. A span must be closed.
-const parentSpan = tracer.startSpan('main');
-for (let i = 0; i < 10; i += 1) {
- doWork(parentSpan);
-}
-
-/* ... */
-
-function doWork(parent) {
- // Start another span. In this example, the main method already started a
- // span, so that'll be the parent span, and this will be a child span.
- const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), parent);
- const span = tracer.startSpan('doWork', undefined, ctx);
-
- // simulate some random work.
- for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
- // empty
- }
- span.end();
-}
-// Be sure to end the span.
-parentSpan.end();
-```
-
-Invoking your application once again will give you a list of traces being exported.
-
-## Attributes
-
-Attributes can be used to describe your spans. Attributes can be added to a span at any time before the span is finished:
-
-```javascript
-function doWork(parent) {
- const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), parent);
- const span = tracer.startSpan('doWork', { attributes: { attribute1 : 'value1' } }, ctx);
- for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
- // empty
- }
- span.setAttribute('attribute2', 'value2');
- span.end();
-}
-```
-
-### Semantic Attributes
-
-There are semantic conventions for spans representing operations in well-known protocols like HTTP or database calls. Semantic conventions for these spans are defined in the specification at [Trace Semantic Conventions](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/trace/semantic_conventions). In the simple example of this guide the source code attributes can be used.
-
-First add the semantic conventions as a dependency to your application:
-
-```shell
-npm install --save @opentelemetry/semantic-conventions
-```
-
-Add the following to the top of your application file:
-
-```javascript
-const { SemanticAttributes } = require('@opentelemetry/semantic-conventions');
-```
-
-Finally, you can update your file to include semantic attributes:
-
-```javascript
-function doWork(parent) {
- const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), parent);
- const span = tracer.startSpan('doWork', { attributes: { [SemanticAttributes.CODE_FUNCTION] : 'doWork' } }, ctx);
- for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
- // empty
- }
- span.setAttribute(SemanticAttributes.CODE_FILEPATH, __filename);
- span.end();
-}
-```
-
-## Span Status
-
-A status can be set on a span, to indicate if the traced operation has completed successfully (`Ok`) or with an `Error`. The default status is `Unset`.
-
-The status can be set at any time before the span is finished:
-
-```javascript
-function doWork(parent) {
- const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), parent);
- const span = tracer.startSpan('doWork', undefined, ctx);
-
- span.setStatus({
- code: opentelemetry.SpanStatusCode.OK,
- message: 'Ok.'
- })
- for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
- if(i > 10000) {
- span.setStatus({
- code: opentelemetry.SpanStatusCode.ERROR,
- message: 'Error.'
- })
- }
- }
- span.end();
-}
-```
diff --git a/website_docs/instrumentation_examples.md b/website_docs/instrumentation_examples.md
deleted file mode 100644
index cd3fbbb7334..00000000000
--- a/website_docs/instrumentation_examples.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: "Instrumentation Examples"
-weight: 4
----
-
-Here are Some of the resources for Opentelemetry Instrumentation Examples
-
-## Core Examples
-
-The repository of the [JavaScript version of OpenTelemetry](https://github.com/svrnm/opentelemetry-js) holds some
-[examples](https://github.com/svrnm/opentelemetry-js/tree/main/examples) of how to run real application with OpenTelemetry JavaScript.
-
-## Plugin & Package Examples
-
-Many of the packages and plugins at the [repository for OpenTelemetry JavaScript](https://github.com/open-telemetry/opentelemetry-js-contrib/)
-contributions come with an usage example. You can find them in the [examples folder](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples).
-
-## Community Resources
-
-### nodejs-opentelemetry-tempo
-
-Project demonstrating Complete Observability Stack utilizing [Prometheus](https://prometheus.io/), [Loki](https://grafana.com/oss/loki/) (_For distributed logging_), [Tempo](https://grafana.com/oss/tempo/) (_For Distributed tracing, this basically uses Jaeger Internally_), [Grafana](https://grafana.com/grafana/) for **NodeJs** based applications (_With OpenTelemetry auto / manual Instrumentation_) involving microservices with DB interactions.
-
-Checkout [nodejs-opentelemetry-tempo](https://github.com/mnadeem/nodejs-opentelemetry-tempo) and get started
-
-```bash
-docker-compose up --build
-```