Onboarding Docs - Copy to clipboard (#3634)

* feat: enable copy-to-clipboard to onboarding docs snippets

* feat: remove commented code & <br></br> from md docs

* feat: remove react-copy-to-clipboard lib and fix type issues

* feat: markdown renderer - pre - remove any with reactnode
This commit is contained in:
Yunus M 2023-09-27 13:20:48 +05:30 committed by GitHub
parent 656f354fdc
commit 7f397d529b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 563 additions and 282 deletions

View File

@ -84,9 +84,11 @@
"react-helmet-async": "1.3.0",
"react-i18next": "^11.16.1",
"react-intersection-observer": "9.4.1",
"react-markdown": "8.0.7",
"react-query": "^3.34.19",
"react-redux": "^7.2.2",
"react-router-dom": "^5.2.0",
"react-syntax-highlighter": "15.5.0",
"react-use": "^17.3.2",
"react-virtuoso": "4.0.3",
"redux": "^4.0.5",
@ -150,6 +152,7 @@
"@types/react-redux": "^7.1.11",
"@types/react-resizable": "3.0.3",
"@types/react-router-dom": "^5.1.6",
"@types/react-syntax-highlighter": "15.5.7",
"@types/styled-components": "^5.1.4",
"@types/uuid": "^8.3.1",
"@types/webpack": "^5.28.0",
@ -183,6 +186,7 @@
"lint-staged": "^12.5.0",
"portfinder-sync": "^0.0.2",
"prettier": "2.2.1",
"raw-loader": "4.0.2",
"react-hooks-testing-library": "0.6.0",
"react-hot-loader": "^4.13.0",
"react-resizable": "3.0.4",

View File

@ -0,0 +1,34 @@
.code-snippet-container {
position: relative;
background-color: rgb(43, 43, 43);
}
.code-copy-btn {
position: absolute;
top: 8px;
right: 8px;
display: flex;
justify-content: flex-end;
align-items: center;
button {
cursor: pointer;
background-color: rgba($color: #1d1d1d, $alpha: 0.7);
color: white;
border: none;
padding: 8px;
border-radius: 3px;
transition: all 0.1s;
&:hover {
background-color: rgba($color: #1d1d1d, $alpha: 1);
}
}
&.copied {
button {
background-color: rgba($color: #52c41a, $alpha: 1);
}
}
}

View File

@ -0,0 +1,32 @@
import './CodeCopyBtn.scss';
import { CheckOutlined, CopyOutlined } from '@ant-design/icons';
import cx from 'classnames';
import { useState } from 'react';
export default function CodeCopyBtn({
children,
}: {
children: React.ReactNode;
}): JSX.Element {
const [isSnippetCopied, setIsSnippetCopied] = useState(false);
const handleClick = (): void => {
if (children && Array.isArray(children)) {
setIsSnippetCopied(true);
navigator.clipboard.writeText(children[0].props.children[0]).finally(() => {
setTimeout(() => {
setIsSnippetCopied(false);
}, 1000);
});
}
};
return (
<div className={cx('code-copy-btn', isSnippetCopied ? 'copied' : '')}>
<button type="button" onClick={handleClick}>
{!isSnippetCopied ? <CopyOutlined /> : <CheckOutlined />}
</button>
</div>
);
}

View File

@ -0,0 +1,43 @@
/* eslint-disable react/jsx-props-no-spreading */
import { CodeProps } from 'react-markdown/lib/ast-to-react';
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
import { a11yDark } from 'react-syntax-highlighter/dist/cjs/styles/prism';
import CodeCopyBtn from './CodeCopyBtn/CodeCopyBtn';
function Pre({ children }: { children: React.ReactNode }): JSX.Element {
return (
<pre className="code-snippet-container">
<CodeCopyBtn>{children}</CodeCopyBtn>
{children}
</pre>
);
}
function Code({
node,
inline,
className = 'blog-code',
children,
...props
}: CodeProps): JSX.Element {
const match = /language-(\w+)/.exec(className || '');
return !inline && match ? (
<SyntaxHighlighter
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
style={a11yDark}
language={match[1]}
PreTag="div"
{...props}
>
{String(children).replace(/\n$/, '')}
</SyntaxHighlighter>
) : (
<code className={className} {...props}>
{children}
</code>
);
}
export { Code, Pre };

View File

@ -1,8 +1,9 @@
import './GoLang.styles.scss';
import { MDXProvider } from '@mdx-js/react';
import { Form, Input } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/ConnectionStatus/ConnectionStatus';
import GoLangDocs from './goLang.md';
@ -44,9 +45,14 @@ export default function GoLang({
</div>
<div className="content-container">
<MDXProvider>
<GoLangDocs />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{GoLangDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -9,7 +9,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
#### **Send traces directly to SigNoz Cloud**
1. **Install Dependencies**<br></br>
1. **Install Dependencies**
Dependencies related to OpenTelemetry exporter and SDK have to be installed first. Note that we are assuming you are using `gin` request router. If you are using other request routers, check out the [corresponding package](#request-routers).
@ -24,7 +24,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
```
2. **Declare environment variables for configuring OpenTelemetry**<br></br>
2. **Declare environment variables for configuring OpenTelemetry**
Declare the following global variables in `main.go` which we will use to configure OpenTelemetry:
@ -36,7 +36,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
)
```
3. **Instrument your Go application with OpenTelemetry**<br></br>
3. **Instrument your Go application with OpenTelemetry**
To configure your application to send data we will need a function to initialize OpenTelemetry. Add the following snippet of code in your `main.go` file.
@ -98,7 +98,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
}
```
4. **Initialize the tracer in main.go**<br></br>
4. **Initialize the tracer in main.go**
Modify the main function to initialise the tracer in `main.go`. Initiate the tracer at the very beginning of our main function.
@ -111,7 +111,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
}
```
5. **Add the OpenTelemetry Gin middleware**<br></br>
5. **Add the OpenTelemetry Gin middleware**
Configure Gin to use the middleware by adding the following lines in `main.go`.
@ -129,7 +129,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
}
```
6. **Set environment variables and run your Go Gin application**<br></br>
6. **Set environment variables and run your Go Gin application**
The run command must have some environment variables to send data to SigNoz cloud. The run command:
@ -146,11 +146,11 @@ From VMs, there are two ways to send data to SigNoz Cloud.
`OTEL_EXPORTER_OTLP_ENDPOINT`: ingest.{region}.signoz.cloud:443. Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary accordingly.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
---
@ -161,7 +161,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Golang application.
1. **Install Dependencies**<br></br>
1. **Install Dependencies**
Dependencies related to OpenTelemetry exporter and SDK have to be installed first. Note that we are assuming you are using `gin` request router. If you are using other request routers, check out the [corresponding package](#request-routers).
@ -176,7 +176,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
```
2. **Declare environment variables for configuring OpenTelemetry**<br></br>
2. **Declare environment variables for configuring OpenTelemetry**
Declare the following global variables in `main.go` which we will use to configure OpenTelemetry:
@ -188,7 +188,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
)
```
3. **Instrument your Go application with OpenTelemetry**<br></br>
3. **Instrument your Go application with OpenTelemetry**
To configure your application to send data we will need a function to initialize OpenTelemetry. Add the following snippet of code in your `main.go` file.
@ -249,7 +249,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
return exporter.Shutdown
}
4. **Initialize the tracer in main.go**<br></br>
4. **Initialize the tracer in main.go**
Modify the main function to initialise the tracer in `main.go`. Initiate the tracer at the very beginning of our main function.
@ -262,7 +262,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
}
```
5. **Add the OpenTelemetry Gin middleware**<br></br>
5. **Add the OpenTelemetry Gin middleware**
Configure Gin to use the middleware by adding the following lines in `main.go`.
@ -280,7 +280,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
}
```
6. **Set environment variables and run your Go Gin application**<br></br>
6. **Set environment variables and run your Go Gin application**
The run command must have some environment variables to send data to SigNoz. The run command:
@ -288,7 +288,7 @@ You can find instructions to install OTel Collector binary [here](https://signoz
SERVICE_NAME=goGinApp INSECURE_MODE=true OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317 go run main.go
```
If you want to update your `service_name`, you can modify the `SERVICE_NAME` variable.<br></br>
If you want to update your `service_name`, you can modify the `SERVICE_NAME` variable.
`SERVICE_NAME`: goGinApp (you can name it whatever you want)
---
@ -299,7 +299,7 @@ For Golang application deployed on Kubernetes, you need to install OTel Collecto
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Golang instrumentation by following the below steps:
1. **Install Dependencies**<br></br>
1. **Install Dependencies**
Dependencies related to OpenTelemetry exporter and SDK have to be installed first. Note that we are assuming you are using `gin` request router. If you are using other request routers, check out the [corresponding package](#request-routers).
@ -314,7 +314,7 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
```
2. **Declare environment variables for configuring OpenTelemetry**<br></br>
2. **Declare environment variables for configuring OpenTelemetry**
Declare the following global variables in `main.go` which we will use to configure OpenTelemetry:
@ -326,7 +326,7 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
)
```
3. **Instrument your Go application with OpenTelemetry**<br></br>
3. **Instrument your Go application with OpenTelemetry**
To configure your application to send data we will need a function to initialize OpenTelemetry. Add the following snippet of code in your `main.go` file.
@ -387,7 +387,7 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
return exporter.Shutdown
}
4. **Initialize the tracer in main.go**<br></br>
4. **Initialize the tracer in main.go**
Modify the main function to initialise the tracer in `main.go`. Initiate the tracer at the very beginning of our main function.
@ -400,7 +400,7 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
}
```
5. **Add the OpenTelemetry Gin middleware**<br></br>
5. **Add the OpenTelemetry Gin middleware**
Configure Gin to use the middleware by adding the following lines in `main.go`.
@ -418,7 +418,7 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
}
```
6. **Set environment variables and run your Go Gin application**<br></br>
6. **Set environment variables and run your Go Gin application**
The run command must have some environment variables to send data to SigNoz. The run command:
@ -426,5 +426,5 @@ Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Go
SERVICE_NAME=goGinApp INSECURE_MODE=true OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317 go run main.go
```
If you want to update your `service_name`, you can modify the `SERVICE_NAME` variable.<br></br>
If you want to update your `service_name`, you can modify the `SERVICE_NAME` variable.
`SERVICE_NAME`: goGinApp (you can name it whatever you want)

View File

@ -1,9 +1,10 @@
import './Java.styles.scss';
import { MDXProvider } from '@mdx-js/react';
import { Form, Input, Select } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
import { trackEvent } from 'utils/segmentAnalytics';
import { popupContainer } from 'utils/selectPopupContainer';
@ -26,7 +27,9 @@ export default function Java({
activeStep: number;
}): JSX.Element {
const [selectedFrameWork, setSelectedFrameWork] = useState('spring_boot');
const [selectedFrameWorkDocs, setSelectedFrameWorkDocs] = useState(
SprintBootDocs,
);
const [form] = Form.useForm();
useEffect(() => {
@ -37,16 +40,22 @@ export default function Java({
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedFrameWork]);
const renderDocs = (): JSX.Element => {
const handleFrameworkChange = (selectedFrameWork: string): void => {
setSelectedFrameWork(selectedFrameWork);
switch (selectedFrameWork) {
case 'tomcat':
return <TomcatDocs />;
setSelectedFrameWorkDocs(TomcatDocs);
break;
case 'spring_boot':
return <SprintBootDocs />;
setSelectedFrameWorkDocs(SprintBootDocs);
break;
case 'jboss':
return <JbossDocs />;
setSelectedFrameWorkDocs(JbossDocs);
break;
default:
return <JavaDocs />;
setSelectedFrameWorkDocs(JavaDocs);
break;
}
};
@ -71,7 +80,7 @@ export default function Java({
defaultValue="spring_boot"
style={{ minWidth: 120 }}
placeholder="Select Framework"
onChange={(value): void => setSelectedFrameWork(value)}
onChange={(value): void => handleFrameworkChange(value)}
options={[
{
value: 'spring_boot',
@ -110,7 +119,14 @@ export default function Java({
</div>
<div className="content-container">
<MDXProvider>{renderDocs()}</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{selectedFrameWorkDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -39,11 +39,11 @@ java -javaagent:$PWD/opentelemetry-javaagent.jar -jar <my-app>.jar
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
---
@ -54,13 +54,13 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Java application.
Step 1. Download OTel java binary agent<br></br>
Step 1. Download OTel java binary agent
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
Step 2. Run your application<br></br>
Step 2. Run your application
```bash
java -javaagent:$PWD/opentelemetry-javaagent.jar -jar <myapp>.jar
@ -77,13 +77,13 @@ For Java application deployed on Kubernetes, you need to install OTel Collector
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry java instrumentation by following the below steps:
1. Download otel java binary<br></br>
1. Download otel java binary
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
2. Run your application<br></br>
2. Run your application
```bash
java -javaagent:$PWD/opentelemetry-javaagent.jar -jar <myapp>.jar

View File

@ -40,20 +40,20 @@ JAVA_OPTS="-javaagent:/<path>/opentelemetry-javaagent.jar
-Dotel.exporter.otlp.headers="signoz-access-token=<SIGNOZ_INGESTION_KEY>"
-Dotel.resource.attributes="service.name=<app_name>""
```
You need to replace the following things based on your environment:<br></br>
You need to replace the following things based on your environment:
- `<path>` - Update it to the path of your downloaded Java JAR agent.<br></br>
- `<path>` - Update it to the path of your downloaded Java JAR agent.
- `<app_name>` is the name for your application
- `<SIGNOZ_INGESTION_KEY>` is the API token provided by SigNoz. You can find your ingestion key from SigNoz cloud account details sent on your email.
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Step 4. [Optional] Write the output/logs of standalone.sh script to a file nohup.out as a background thread
@ -69,7 +69,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Java application.
Step 1. Download OTel java binary agent<br></br>
Step 1. Download OTel java binary agent
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
@ -90,7 +90,7 @@ JAVA_OPTS="-javaagent:/path/opentelemetry-javaagent.jar"
```
where,
- `path` - Update it to the path of your downloaded Java JAR agent.<br></br>
- `path` - Update it to the path of your downloaded Java JAR agent.
---
@ -100,7 +100,7 @@ For Java application deployed on Kubernetes, you need to install OTel Collector
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry java instrumentation by following the below steps:
Step 1. Download otel java binary<br></br>
Step 1. Download otel java binary
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
@ -121,7 +121,7 @@ JAVA_OPTS="-javaagent:/path/opentelemetry-javaagent.jar"
```
where,
- `path` - Update it to the path of your downloaded Java JAR agent.<br></br>
- `path` - Update it to the path of your downloaded Java JAR agent.
Step 4. Make sure to dockerise your application along with OpenTelemetry instrumentation.

View File

@ -38,11 +38,11 @@ java -javaagent:<path>/opentelemetry-javaagent.jar -jar <myapp>.jar
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
---
@ -52,12 +52,12 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Java application.
Step 1. Download OTel java binary agent<br></br>
Step 1. Download OTel java binary agent
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
Step 2. Run your application<br></br>
Step 2. Run your application
```bash
java -javaagent:<path>/opentelemetry-javaagent.jar -jar <myapp>.jar
@ -74,13 +74,13 @@ For Java application deployed on Kubernetes, you need to install OTel Collector
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry java instrumentation by following the below steps:
1. Download otel java binary<br></br>
1. Download otel java binary
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
2. Run your application<br></br>
2. Run your application
```bash
java -javaagent:<path>/opentelemetry-javaagent.jar -jar <myapp>.jar

View File

@ -42,11 +42,11 @@ export OTEL_RESOURCE_ATTRIBUTES=service.name=<app_name>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary accordingly.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
---
@ -56,12 +56,12 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Java application.
Step 1. Download OTel java binary agent<br></br>
Step 1. Download OTel java binary agent
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
Step 2. Enable the instrumentation agent and run your application<br></br>
Step 2. Enable the instrumentation agent and run your application
If you run your `.war` package by putting in `webapps` folder, just add `setenv.sh` in your Tomcat `bin` folder.
@ -82,13 +82,13 @@ For Java application deployed on Kubernetes, you need to install OTel Collector
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry java instrumentation by following the below steps:
1. Download otel java binary<br></br>
1. Download otel java binary
```bash
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
```
2. Enable the instrumentation agent and run your application<br></br>
2. Enable the instrumentation agent and run your application
If you run your `.war` package by putting in `webapps` folder, just add `setenv.sh` in your Tomcat `bin` folder.

View File

@ -1,9 +1,10 @@
import './Javascript.styles.scss';
import { MDXProvider } from '@mdx-js/react';
import { Form, Input, Select } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
import { trackEvent } from 'utils/segmentAnalytics';
import { popupContainer } from 'utils/selectPopupContainer';
@ -24,7 +25,9 @@ export default function Javascript({
activeStep: number;
}): JSX.Element {
const [selectedFrameWork, setSelectedFrameWork] = useState('express');
const [selectedFrameWorkDocs, setSelectedFrameWorkDocs] = useState(
ExpressDocs,
);
const [form] = Form.useForm();
useEffect(() => {
@ -35,14 +38,19 @@ export default function Javascript({
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedFrameWork]);
const renderDocs = (): JSX.Element => {
const handleFrameworkChange = (selectedFrameWork: string): void => {
setSelectedFrameWork(selectedFrameWork);
switch (selectedFrameWork) {
case 'nodejs':
return <JavascriptDocs />;
setSelectedFrameWorkDocs(JavascriptDocs);
break;
case 'nestjs':
return <NestJsDocs />;
setSelectedFrameWorkDocs(NestJsDocs);
break;
default:
return <ExpressDocs />;
setSelectedFrameWorkDocs(ExpressDocs);
break;
}
};
@ -67,7 +75,7 @@ export default function Javascript({
defaultValue="express"
style={{ minWidth: 120 }}
placeholder="Select Framework"
onChange={(value): void => setSelectedFrameWork(value)}
onChange={(value): void => handleFrameworkChange(value)}
options={[
{
value: 'nodejs',
@ -108,7 +116,14 @@ export default function Javascript({
</div>
<div className="content-container">
<MDXProvider>{renderDocs()}</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{selectedFrameWorkDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -26,7 +26,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You need to configure the endpoint for SigNoz cloud in this file. You also need to configure your service name. In this example, we have used `node_app`.
@ -71,13 +71,13 @@ process.on('SIGTERM', () => {
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443/v1/traces <br></br>
US - ingest.us.signoz.cloud:443/v1/traces
IN - ingest.in.signoz.cloud:443/v1/traces <br></br>
IN - ingest.in.signoz.cloud:443/v1/traces
EU - ingest.eu.signoz.cloud:443/v1/traces <br></br>
EU - ingest.eu.signoz.cloud:443/v1/traces
Step 3. Run the application<br></br>
Step 3. Run the application
Make sure you set the `OTEL_EXPORTER_OTLP_HEADERS` env as follows
```bash
@ -104,7 +104,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You need to configure your service name. In this example, we have used `node_app`.
@ -144,7 +144,7 @@ process.on('SIGTERM', () => {
});
```
Step 3. Run the application<br></br>
Step 3. Run the application
```bash
node -r ./tracing.js app.js
```
@ -165,7 +165,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You also need to configure your service name. In this example, we have used `node_app`.
@ -205,7 +205,7 @@ process.on('SIGTERM', () => {
});
```
Step 3. Run the application<br></br>
Step 3. Run the application
```bash
node -r ./tracing.js app.js

View File

@ -1,6 +1,6 @@
## Requirements
- Node.js version 14 or newer ([See here](https://github.com/open-telemetry/opentelemetry-js#supported-runtimes))<br></br>
- Node.js version 14 or newer ([See here](https://github.com/open-telemetry/opentelemetry-js#supported-runtimes))
## Send traces to SigNoz Cloud
@ -24,7 +24,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You need to configure the endpoint for SigNoz cloud in this file. You also need to configure your service name. In this example, we have used `node_app`.
@ -69,13 +69,13 @@ process.on('SIGTERM', () => {
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443/v1/traces <br></br>
US - ingest.us.signoz.cloud:443/v1/traces
IN - ingest.in.signoz.cloud:443/v1/traces <br></br>
IN - ingest.in.signoz.cloud:443/v1/traces
EU - ingest.eu.signoz.cloud:443/v1/traces <br></br>
EU - ingest.eu.signoz.cloud:443/v1/traces
Step 3. Run the application<br></br>
Step 3. Run the application
Make sure you set the `OTEL_EXPORTER_OTLP_HEADERS` env as follows
@ -102,7 +102,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You need to configure your service name. In this example, we have used `node_app`.
@ -142,7 +142,7 @@ process.on('SIGTERM', () => {
});
```
Step 3. Run the application<br></br>
Step 3. Run the application
```bash
node -r ./tracing.js app.js
@ -165,7 +165,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create tracing.js file<br></br>
Step 2. Create tracing.js file
You need to configure your service name. In this example, we have used `node_app`.
@ -205,7 +205,7 @@ process.on('SIGTERM', () => {
});
```
Step 3. Run the application<br></br>
Step 3. Run the application
```bash
node -r ./tracing.js app.js
```

View File

@ -26,7 +26,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create `tracer.ts` file<br></br>
Step 2. Create `tracer.ts` file
You need to configure the endpoint for SigNoz cloud in this file. You also need to configure your service name. In this example, we have used `sampleNestjsApplication`.
@ -69,11 +69,11 @@ const sdk = new opentelemetry.NodeSDK({
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary accordingly.
US - ingest.us.signoz.cloud:443/v1/traces <br></br>
US - ingest.us.signoz.cloud:443/v1/traces
IN - ingest.in.signoz.cloud:443/v1/traces <br></br>
IN - ingest.in.signoz.cloud:443/v1/traces
EU - ingest.eu.signoz.cloud:443/v1/traces <br></br>
EU - ingest.eu.signoz.cloud:443/v1/traces
@ -84,7 +84,7 @@ const tracer = require('./tracer')
```
Step 4. Start the tracer<br></br>
Step 4. Start the tracer
In the `async function boostrap` section of the application code `(Ex —> In main.ts)`, initialize the tracer as follows:
@ -131,7 +131,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create `tracer.ts` file<br></br>
Step 2. Create `tracer.ts` file
You need to configure your service name. In this example, we have used `sampleNestjsApplication`.
@ -180,7 +180,7 @@ const tracer = require('./tracer')
```
Step 4. Start the tracer<br></br>
Step 4. Start the tracer
In the `async function boostrap` section of the application code, initialize the tracer as follows:
@ -219,7 +219,7 @@ npm install --save @opentelemetry/auto-instrumentations-node@^0.37.0
npm install --save @opentelemetry/exporter-trace-otlp-http@^0.39.1
```
Step 2. Create `tracer.ts` file<br></br>
Step 2. Create `tracer.ts` file
You need to configure your service name. In this example, we have used `sampleNestjsApplication`.
@ -268,7 +268,7 @@ const tracer = require('./tracer')
```
Step 4. Start the tracer<br></br>
Step 4. Start the tracer
In the `async function boostrap` section of the application code, initialize the tracer as follows:

View File

@ -1,9 +1,10 @@
import './Python.styles.scss';
import { MDXProvider } from '@mdx-js/react';
import { Form, Input, Select } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
import { trackEvent } from 'utils/segmentAnalytics';
import { popupContainer } from 'utils/selectPopupContainer';
@ -28,7 +29,7 @@ export default function Python({
activeStep: number;
}): JSX.Element {
const [selectedFrameWork, setSelectedFrameWork] = useState('django');
const [selectedFrameWorkDocs, setSelectedFrameWorkDocs] = useState(DjangoDocs);
const [form] = Form.useForm();
useEffect(() => {
@ -39,18 +40,25 @@ export default function Python({
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedFrameWork]);
const renderDocs = (): JSX.Element => {
const handleFrameworkChange = (selectedFrameWork: string): void => {
setSelectedFrameWork(selectedFrameWork);
switch (selectedFrameWork) {
case 'django':
return <DjangoDocs />;
setSelectedFrameWorkDocs(DjangoDocs);
break;
case 'fastAPI':
return <FastAPIDocs />;
setSelectedFrameWorkDocs(FastAPIDocs);
break;
case 'flask':
return <FlaskDocs />;
setSelectedFrameWorkDocs(FlaskDocs);
break;
case 'falcon':
return <FalconDocs />;
setSelectedFrameWorkDocs(FalconDocs);
break;
default:
return <PythonDocs />;
setSelectedFrameWorkDocs(PythonDocs);
break;
}
};
@ -75,7 +83,7 @@ export default function Python({
defaultValue="Django"
style={{ minWidth: 120 }}
placeholder="Select Framework"
onChange={(value): void => setSelectedFrameWork(value)}
onChange={(value): void => handleFrameworkChange(value)}
options={[
{
value: 'django',
@ -118,7 +126,14 @@ export default function Python({
</div>
<div className="content-container">
<MDXProvider>{renderDocs()}</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{selectedFrameWorkDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -24,7 +24,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
#### **Send traces directly to SigNoz Cloud**
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -38,22 +38,6 @@ pip install opentelemetry-distro==0.38b0
pip install opentelemetry-exporter-otlp==1.17.0
```
<!-- The dependencies included are briefly explained below:
`opentelemetry-distro` - The distro provides a mechanism to automatically configure some of the more common options for users. It helps to get started with OpenTelemetry auto-instrumentation quickly.
`opentelemetry-exporter-otlp` - This library provides a way to install all OTLP exporters. You will need an exporter to send the data to SigNoz.
:::note
💡 The `opentelemetry-exporter-otlp` is a convenience wrapper package to install all OTLP exporters. Currently, it installs:
- opentelemetry-exporter-otlp-proto-http
- opentelemetry-exporter-otlp-proto-grpc
- (soon) opentelemetry-exporter-otlp-json-http
The `opentelemetry-exporter-otlp-proto-grpc` package installs the gRPC exporter which depends on the `grpcio` package. The installation of `grpcio` may fail on some platforms for various reasons. If you run into such issues, or you don't want to use gRPC, you can install the HTTP exporter instead by installing the `opentelemetry-exporter-otlp-proto-http` package. You need to set the `OTEL_EXPORTER_OTLP_PROTOCOL` environment variable to `http/protobuf` to use the HTTP exporter.
::: -->
Step 3. Add automatic instrumentation
@ -79,11 +63,11 @@ opentelemetry-instrument <your_run_command>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Note:
Dont run app in reloader/hot-reload mode as it breaks instrumentation. For example, you can disable the auto reload with `--noreload`.
@ -96,7 +80,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Python application.
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -142,7 +126,7 @@ For Python application deployed on Kubernetes, you need to install OTel Collecto
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Python instrumentation by following the below steps:
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv

View File

@ -15,7 +15,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
#### **Send traces directly to SigNoz Cloud**
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -29,23 +29,6 @@ pip install opentelemetry-distro==0.38b0
pip install opentelemetry-exporter-otlp==1.17.0
```
<!-- The dependencies included are briefly explained below:
`opentelemetry-distro` - The distro provides a mechanism to automatically configure some of the more common options for users. It helps to get started with OpenTelemetry auto-instrumentation quickly.
`opentelemetry-exporter-otlp` - This library provides a way to install all OTLP exporters. You will need an exporter to send the data to SigNoz.
:::note
💡 The `opentelemetry-exporter-otlp` is a convenience wrapper package to install all OTLP exporters. Currently, it installs:
- opentelemetry-exporter-otlp-proto-http
- opentelemetry-exporter-otlp-proto-grpc
- (soon) opentelemetry-exporter-otlp-json-http
The `opentelemetry-exporter-otlp-proto-grpc` package installs the gRPC exporter which depends on the `grpcio` package. The installation of `grpcio` may fail on some platforms for various reasons. If you run into such issues, or you don't want to use gRPC, you can install the HTTP exporter instead by installing the `opentelemetry-exporter-otlp-proto-http` package. You need to set the `OTEL_EXPORTER_OTLP_PROTOCOL` environment variable to `http/protobuf` to use the HTTP exporter.
::: -->
Step 3. Add automatic instrumentation
```bash
@ -70,11 +53,11 @@ opentelemetry-instrument <your_run_command>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Note:
Dont run app in reloader/hot-reload mode as it breaks instrumentation. For example, you can disable the auto reload with `--noreload`.
@ -87,7 +70,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Python application.
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -138,7 +121,7 @@ For Python application deployed on Kubernetes, you need to install OTel Collecto
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Python instrumentation by following the below steps:
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv

View File

@ -15,7 +15,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
#### **Send traces directly to SigNoz Cloud**
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -53,11 +53,11 @@ opentelemetry-instrument <your_run_command>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Note:
Dont run app in reloader/hot-reload mode as it breaks instrumentation. For example, you can disable the auto reload with `--noreload`.
@ -70,7 +70,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Python application.
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -119,7 +119,7 @@ For Python application deployed on Kubernetes, you need to install OTel Collecto
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Python instrumentation by following the below steps:
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv

View File

@ -15,7 +15,7 @@ From VMs, there are two ways to send data to SigNoz Cloud.
#### **Send traces directly to SigNoz Cloud**
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -53,11 +53,11 @@ opentelemetry-instrument <your_run_command>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Note:
Dont run app in reloader/hot-reload mode as it breaks instrumentation. For example, you can disable the auto reload with `--noreload`.
@ -70,7 +70,7 @@ OTel Collector binary helps to collect logs, hostmetrics, resource and infra att
You can find instructions to install OTel Collector binary [here](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) in your VM. Once you are done setting up your OTel Collector binary, you can follow the below steps for instrumenting your Python application.
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv
@ -121,7 +121,7 @@ For Python application deployed on Kubernetes, you need to install OTel Collecto
Once you have set up OTel Collector agent, you can proceed with OpenTelemetry Python instrumentation by following the below steps:
Step 1. Create a virtual environment<br></br>
Step 1. Create a virtual environment
```bash
python3 -m venv .venv

View File

@ -43,11 +43,11 @@ opentelemetry-instrument <your_run_command>
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
Note:
Dont run app in reloader/hot-reload mode as it breaks instrumentation.

View File

@ -1,6 +1,7 @@
import './InfrastructureMonitoring.styles.scss';
import { MDXProvider } from '@mdx-js/react';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import ReactMarkdown from 'react-markdown';
import InfraMonitoringDocs from './infraMonitoringDocs.md';
@ -28,9 +29,14 @@ export default function InfrastructureMonitoring({
</div>
</div>
<MDXProvider>
<InfraMonitoringDocs />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{InfraMonitoringDocs}
</ReactMarkdown>
</div>
)}
{activeStep === 3 && <div> Infra Monitoring Step 3 </div>}

View File

@ -71,11 +71,11 @@ service:
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary according to this table.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
To enable a new OpenTelemetry receiver, follow the steps below:

View File

@ -1,11 +1,9 @@
import { MDXProvider } from '@mdx-js/react';
import { Tabs } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/LogsConnectionStatus/LogsConnectionStatus';
import LogsFromLogFile from './applicationLogsFromLogFile.md';
import LogsUsingJavaOtelSDK from './applicationLogsUsingJavaOtelSDK.md';
import LogsUsingPythonOtelSDK from './applicationLogsUsingPythonOtelSDK.md';
interface ApplicationLogsProps {
type: string;
@ -14,29 +12,12 @@ interface ApplicationLogsProps {
const collectLogsFromFileURL =
'https://signoz.io/docs/userguide/collect_logs_from_file/';
const collectLogsFromOTELSDK =
'https://signoz.io/docs/userguide/collecting_application_logs_otel_sdk_java/';
export default function ApplicationLogs({
type,
activeStep,
}: ApplicationLogsProps): JSX.Element {
function renderContentForCollectingLogsOtelSDK(language: string): JSX.Element {
if (language === 'Java') {
return <LogsUsingJavaOtelSDK />;
}
return <LogsUsingPythonOtelSDK />;
}
enum ApplicationLogsType {
FROM_LOG_FILE = 'from-log-file',
USING_OTEL_COLLECTOR = 'using-otel-sdk',
}
const docsURL =
type === ApplicationLogsType.FROM_LOG_FILE
? collectLogsFromFileURL
: collectLogsFromOTELSDK;
const docsURL = collectLogsFromFileURL;
return (
<>
@ -44,38 +25,21 @@ export default function ApplicationLogs({
<div className="golang-setup-instructions-container">
<Header
entity="docker"
heading={
type === ApplicationLogsType.FROM_LOG_FILE
? 'Collecting Application Logs from Log file'
: 'Collecting Application Logs Using OTEL SDK'
}
imgURL={`/Logos/${
type === ApplicationLogsType.FROM_LOG_FILE
? 'software-window'
: 'cmd-terminal'
}.svg`}
heading="Collecting Application Logs from Log file"
imgURL={`/Logos/${'software-window'}.svg`}
docsURL={docsURL}
imgClassName="supported-logs-type-img"
/>
<div className="content-container">
<MDXProvider>
{type === ApplicationLogsType.FROM_LOG_FILE && <LogsFromLogFile />}
{type === ApplicationLogsType.USING_OTEL_COLLECTOR && (
<Tabs
defaultActiveKey="1"
items={['Java', 'Python'].map((language, i) => {
const id = String(i + 1);
return {
label: <div className="language-tab-item">{language}</div>,
key: id,
children: renderContentForCollectingLogsOtelSDK(language),
};
})}
/>
)}
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{LogsFromLogFile}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -13,7 +13,7 @@ The command for it will look like
OTEL_LOGS_EXPORTER=otlp OTEL_EXPORTER_OTLP_ENDPOINT="http://<IP of SigNoz Backend>:4317" OTEL_RESOURCE_ATTRIBUTES=service.name=<app_name> java -javaagent:/path/opentelemetry-javaagent.jar -jar <myapp>.jar
```
<br></br>
In the below example we will configure a java application to send logs to SigNoz.

View File

@ -1,8 +1,9 @@
import { MDXProvider } from '@mdx-js/react';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/LogsConnectionStatus/LogsConnectionStatus';
import Post from './docker.md';
import DockerDocs from './docker.md';
export default function Docker({
activeStep,
@ -22,9 +23,14 @@ export default function Docker({
/>
<div className="content-container">
<MDXProvider>
<Post />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{DockerDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -6,11 +6,11 @@
Depending on the choice of your region for SigNoz cloud, the ingest endpoint will vary accordingly.
US - ingest.us.signoz.cloud:443 <br></br>
US - ingest.us.signoz.cloud:443
IN - ingest.in.signoz.cloud:443 <br></br>
IN - ingest.in.signoz.cloud:443
EU - ingest.eu.signoz.cloud:443 <br></br>
EU - ingest.eu.signoz.cloud:443
- Start the containers

View File

@ -1,7 +1,8 @@
import { MDXProvider } from '@mdx-js/react';
import { Select } from 'antd';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
import { trackEvent } from 'utils/segmentAnalytics';
import { popupContainer } from 'utils/selectPopupContainer';
@ -17,6 +18,7 @@ enum FrameworksMap {
export default function ExistingCollectors(): JSX.Element {
const [selectedFrameWork, setSelectedFrameWork] = useState('fluent_d');
const [selectedFrameWorkDocs, setSelectedFrameWorkDocs] = useState(FluentD);
useEffect(() => {
// on language select
@ -26,14 +28,19 @@ export default function ExistingCollectors(): JSX.Element {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedFrameWork]);
const renderDocs = (): JSX.Element => {
const handleFrameworkChange = (selectedFrameWork: string): void => {
setSelectedFrameWork(selectedFrameWork);
switch (selectedFrameWork) {
case 'fluent_d':
return <FluentD />;
setSelectedFrameWorkDocs(FluentD);
break;
case 'fluent_bit':
return <FluentBit />;
setSelectedFrameWorkDocs(FluentBit);
break;
default:
return <LogStashDocs />;
setSelectedFrameWorkDocs(LogStashDocs);
break;
}
};
@ -56,7 +63,7 @@ export default function ExistingCollectors(): JSX.Element {
defaultValue="fluent_d"
style={{ minWidth: 120 }}
placeholder="Select Framework"
onChange={(value): void => setSelectedFrameWork(value)}
onChange={(value): void => handleFrameworkChange(value)}
options={[
{
value: 'fluent_d',
@ -76,7 +83,14 @@ export default function ExistingCollectors(): JSX.Element {
</div>
<div className="content-container">
<MDXProvider>{renderDocs()}</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{selectedFrameWorkDocs}
</ReactMarkdown>
</div>
</div>
);

View File

@ -1,8 +1,9 @@
import { MDXProvider } from '@mdx-js/react';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/LogsConnectionStatus/LogsConnectionStatus';
import Post from './kubernetes.md';
import KubernetesDocs from './kubernetes.md';
export default function Kubernetes({
activeStep,
@ -22,9 +23,14 @@ export default function Kubernetes({
/>
<div className="content-container">
<MDXProvider>
<Post />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{KubernetesDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -35,16 +35,6 @@ const supportedLogTypes = [
id: 'application_logs_log_file',
imgURL: `Logos/software-window.svg`,
},
// {
// name: 'NodeJS Winston Logs ',
// id: 'nodejs',
// imgURL: `Logos/node-js.svg`,
// },
// {
// name: 'Application Logs using OTEL SDK',
// id: 'application_logs_otel_sdk',
// imgURL: `Logos/cmd-terminal.svg`,
// },
{
name: 'Logs from existing collectors',
id: 'existing_collectors',

View File

@ -1,8 +1,9 @@
import { MDXProvider } from '@mdx-js/react';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/LogsConnectionStatus/LogsConnectionStatus';
import Post from './nodejs.md';
import NodeJsDocs from './nodejs.md';
export default function Nodejs({
activeStep,
@ -22,9 +23,14 @@ export default function Nodejs({
/>
<div className="content-container">
<MDXProvider>
<Post />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{NodeJsDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -1,8 +1,9 @@
import { MDXProvider } from '@mdx-js/react';
import { Code, Pre } from 'components/MarkdownRenderer/MarkdownRenderer';
import Header from 'container/OnboardingContainer/common/Header/Header';
import ReactMarkdown from 'react-markdown';
import ConnectionStatus from '../common/LogsConnectionStatus/LogsConnectionStatus';
import Post from './syslogs.md';
import SysLogsDocs from './syslogs.md';
export default function SysLogs({
activeStep,
@ -22,9 +23,14 @@ export default function SysLogs({
/>
<div className="content-container">
<MDXProvider>
<Post />
</MDXProvider>
<ReactMarkdown
components={{
pre: Pre,
code: Code,
}}
>
{SysLogsDocs}
</ReactMarkdown>
</div>
</div>
)}

View File

@ -78,19 +78,10 @@ const config = {
use: ['babel-loader'],
exclude: /node_modules/,
},
// Add a rule for Markdown files using raw-loader
{
test: /\.mdx?$/,
use: [
// `babel-loader` is optional:
{ loader: 'babel-loader', options: {} },
{
loader: '@mdx-js/loader',
/** @type {import('@mdx-js/loader').Options} */
options: {
/* jsxImportSource: …, otherOptions… */
},
},
],
test: /\.md$/,
use: 'raw-loader',
},
{
test: /\.css$/,

View File

@ -2013,6 +2013,13 @@
dependencies:
regenerator-runtime "^0.14.0"
"@babel/runtime@^7.3.1":
version "7.23.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d"
integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3":
version "7.20.7"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz"
@ -3499,6 +3506,13 @@
"@types/history" "^4.7.11"
"@types/react" "*"
"@types/react-syntax-highlighter@15.5.7":
version "15.5.7"
resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.7.tgz#bd29020ccb118543d88779848f99059b64b02d0f"
integrity sha512-bo5fEO5toQeyCp0zVHBeggclqf5SQ/Z5blfFmjwO5dkMVGPgmiwZsJh9nu/Bo5L7IHTuGWrja6LxJVE2uB5ZrQ==
dependencies:
"@types/react" "*"
"@types/react-test-renderer@^16.8.2":
version "16.9.5"
resolved "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-16.9.5.tgz"
@ -5229,16 +5243,31 @@ character-entities-html4@^2.0.0:
resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
character-entities-legacy@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
character-entities-legacy@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
character-entities@^1.0.0:
version "1.2.4"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
character-entities@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
character-reference-invalid@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
character-reference-invalid@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
@ -5451,6 +5480,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
comma-separated-tokens@^1.0.0:
version "1.0.8"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
comma-separated-tokens@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
@ -7302,6 +7336,13 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
fault@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
dependencies:
format "^0.2.0"
faye-websocket@^0.11.3:
version "0.11.4"
resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz"
@ -7495,6 +7536,11 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
format@^0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"
@ -7849,6 +7895,11 @@ hast-util-is-element@^2.0.0:
"@types/hast" "^2.0.0"
"@types/unist" "^2.0.0"
hast-util-parse-selector@^2.0.0:
version "2.2.5"
resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a"
integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
hast-util-parse-selector@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2"
@ -7956,6 +8007,17 @@ hast-util-whitespace@^2.0.0:
resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557"
integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==
hastscript@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640"
integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
dependencies:
"@types/hast" "^2.0.0"
comma-separated-tokens "^1.0.0"
hast-util-parse-selector "^2.0.0"
property-information "^5.0.0"
space-separated-tokens "^1.0.0"
hastscript@^7.0.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b"
@ -7972,6 +8034,11 @@ he@^1.2.0:
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
highlight.js@^10.4.1, highlight.js@~10.7.0:
version "10.7.3"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
history@4.10.1, history@^4.9.0:
version "4.10.1"
resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz"
@ -8346,11 +8413,24 @@ ipaddr.js@^2.0.1:
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
is-alphabetical@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
is-alphanumerical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
dependencies:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
is-alphanumerical@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
@ -8451,6 +8531,11 @@ is-date-object@^1.0.1, is-date-object@^1.0.5:
dependencies:
has-tostringtag "^1.0.0"
is-decimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
is-decimal@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
@ -8493,6 +8578,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-hexadecimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-hexadecimal@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
@ -9777,6 +9867,14 @@ lower-case@^2.0.2:
dependencies:
tslib "^2.0.3"
lowlight@^1.17.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
dependencies:
fault "^1.0.0"
highlight.js "~10.7.0"
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
@ -11182,6 +11280,18 @@ parse-bmfont-xml@^1.1.4:
xml-parse-from-string "^1.0.0"
xml2js "^0.4.5"
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
character-reference-invalid "^1.0.0"
is-alphanumerical "^1.0.0"
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
parse-entities@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e"
@ -11751,6 +11861,16 @@ pretty-format@^29.0.0, pretty-format@^29.5.0:
ansi-styles "^5.0.0"
react-is "^18.0.0"
prismjs@^1.27.0:
version "1.29.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
prismjs@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
@ -11795,6 +11915,13 @@ prop-types@15, prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.8, prop-typ
object-assign "^4.1.1"
react-is "^16.13.1"
property-information@^5.0.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
dependencies:
xtend "^4.0.0"
property-information@^6.0.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3"
@ -11905,6 +12032,14 @@ raw-body@2.5.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
raw-loader@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6"
integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==
dependencies:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
rbush@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz"
@ -12430,7 +12565,7 @@ react-lifecycles-compat@^3.0.4:
resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
react-markdown@~8.0.0:
react-markdown@8.0.7, react-markdown@~8.0.0:
version "8.0.7"
resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b"
integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==
@ -12516,6 +12651,17 @@ react-router@5.3.4:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
react-syntax-highlighter@15.5.0:
version "15.5.0"
resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz#4b3eccc2325fa2ec8eff1e2d6c18fa4a9e07ab20"
integrity sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==
dependencies:
"@babel/runtime" "^7.3.1"
highlight.js "^10.4.1"
lowlight "^1.17.0"
prismjs "^1.27.0"
refractor "^3.6.0"
react-universal-interface@^0.6.2:
version "0.6.2"
resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz"
@ -12628,6 +12774,15 @@ redux@^4.0.0, redux@^4.0.5, redux@^4.2.0:
dependencies:
"@babel/runtime" "^7.9.2"
refractor@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a"
integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==
dependencies:
hastscript "^6.0.0"
parse-entities "^2.0.0"
prismjs "~1.27.0"
refractor@^4.8.0:
version "4.8.1"
resolved "https://registry.yarnpkg.com/refractor/-/refractor-4.8.1.tgz#fbdd889333a3d86c9c864479622855c9b38e9d42"
@ -13467,6 +13622,11 @@ sourcemap-codec@^1.4.8:
resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
space-separated-tokens@^1.0.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
space-separated-tokens@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"