Compare commits

..

1 Commits

Author SHA1 Message Date
revmag
04d8f3484c fix: update 47 stale docs links in frontend to current URLs
Update documentation links across 19 frontend files to match
current signoz.io docs structure after product module restructures.

Key changes:
- Instrumentation links updated to new OpenTelemetry-prefixed paths
- product-features/* links replaced with current locations
- Query builder links point to new querying module pages
- Alert notification channel links point to setup-alerts-notification
- SSO, infra monitoring, and version upgrade links corrected

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 14:29:53 +09:00
21 changed files with 58 additions and 60 deletions

View File

@@ -1,7 +1,7 @@
import { QueryParams } from 'constants/query';
export const ExploreHeaderToolTip = {
url: 'https://signoz.io/docs/userguide/query-builder/?utm_source=product&utm_medium=new-query-builder',
url: 'https://signoz.io/docs/querying/overview/?utm_source=product&utm_medium=new-query-builder',
text: 'More details on how to use query builder',
};

View File

@@ -68,7 +68,7 @@ function AlertChannels(): JSX.Element {
<RightActionContainer>
<TextToolTip
text={t('tooltip_notification_channels')}
url="https://signoz.io/docs/userguide/alerts-management/#setting-notification-channel"
url="https://signoz.io/docs/setup-alerts-notification/"
/>
<Tooltip

View File

@@ -717,13 +717,13 @@ function ExplorerOptions({
const infoIconLink = useMemo(() => {
if (isLogsExplorer) {
return 'https://signoz.io/docs/product-features/logs-explorer/?utm_source=product&utm_medium=logs-explorer-toolbar';
return 'https://signoz.io/docs/userguide/logs_query_builder/?utm_source=product&utm_medium=logs-explorer-toolbar';
}
// TODO: Add metrics explorer info icon link
if (isMetricsExplorer) {
return '';
}
return 'https://signoz.io/docs/product-features/trace-explorer/?utm_source=product&utm_medium=trace-explorer-toolbar';
return 'https://signoz.io/docs/userguide/traces/?utm_source=product&utm_medium=trace-explorer-toolbar';
}, [isLogsExplorer, isMetricsExplorer]);
const getQueryName = (query: Query): string => {

View File

@@ -200,7 +200,7 @@ export default function SavedViews({
});
window.open(
'https://signoz.io/docs/product-features/saved-view/',
'https://signoz.io/docs/metrics-management/metrics-explorer/#saved-views-in-metrics-explorer',
'_blank',
'noopener noreferrer',
);

View File

@@ -29,12 +29,12 @@ export const checkListStepToPreferenceKeyMap = {
export const DOCS_LINKS = {
ADD_DATA_SOURCE: 'https://signoz.io/docs/instrumentation/overview/',
SEND_LOGS: 'https://signoz.io/docs/userguide/logs/',
SEND_LOGS: 'https://signoz.io/docs/userguide/logs_query_builder/',
SEND_TRACES: 'https://signoz.io/docs/userguide/traces/',
SEND_METRICS: 'https://signoz.io/docs/metrics-management/metrics-explorer/',
SETUP_ALERTS: 'https://signoz.io/docs/userguide/alerts-management/',
SETUP_ALERTS: 'https://signoz.io/docs/alerts/',
SETUP_SAVED_VIEWS:
'https://signoz.io/docs/product-features/saved-view/#step-2-save-your-view',
'https://signoz.io/docs/metrics-management/metrics-explorer/#saved-views-in-metrics-explorer',
SETUP_DASHBOARDS: 'https://signoz.io/docs/userguide/manage-dashboards/',
};

View File

@@ -82,7 +82,7 @@ export function K8sEmptyState({
<span className={styles.message}>
Please refer to{' '}
<a
href="https://signoz.io/docs/userguide/hostmetrics/"
href="https://signoz.io/docs/infrastructure-monitoring/hostmetrics/"
target="_blank"
rel="noreferrer"
>

View File

@@ -611,7 +611,7 @@ describe('K8sBaseList', () => {
expect(link).toBeInTheDocument();
expect(link).toHaveAttribute(
'href',
'https://signoz.io/docs/userguide/hostmetrics/',
'https://signoz.io/docs/infrastructure-monitoring/hostmetrics/',
);
});
});

View File

@@ -197,7 +197,7 @@ function TopOperationsTable({
const entryPointSpanInfo = {
text: 'Shows the spans where requests enter new services for the first time',
url: 'https://signoz.io/docs/traces-management/guides/entry-point-spans-service-overview/',
url: 'https://signoz.io/docs/apm-and-distributed-tracing/application-details/',
urlText: 'Learn more about Entrypoint Spans.',
};

View File

@@ -143,7 +143,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="java"
heading="Java OpenTelemetry Instrumentation"
imgURL={javaPngUrl}
docsURL="https://signoz.io/docs/instrumentation/java/"
docsURL="https://signoz.io/docs/instrumentation/java/opentelemetry-java/"
imgClassName="supported-language-img"
/>
);
@@ -154,7 +154,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="python"
heading="Python OpenTelemetry Instrumentation"
imgURL={pythonPngUrl}
docsURL="https://signoz.io/docs/instrumentation/python/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-python/"
imgClassName="supported-language-img"
/>
);
@@ -165,7 +165,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="javascript"
heading="Javascript OpenTelemetry Instrumentation"
imgURL={javascriptPngUrl}
docsURL="https://signoz.io/docs/instrumentation/javascript/"
docsURL="https://signoz.io/docs/instrumentation/javascript/overview/"
imgClassName="supported-language-img"
/>
);
@@ -175,7 +175,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="go"
heading="Go OpenTelemetry Instrumentation"
imgURL={goPngUrl}
docsURL="https://signoz.io/docs/instrumentation/golang/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-golang/"
imgClassName="supported-language-img"
/>
);
@@ -185,7 +185,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="rails"
heading="Ruby on Rails OpenTelemetry Instrumentation"
imgURL={railsPngUrl}
docsURL="https://signoz.io/docs/instrumentation/ruby-on-rails/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-ruby/"
imgClassName="supported-language-img"
/>
);
@@ -195,7 +195,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="rust"
heading="Rust OpenTelemetry Instrumentation"
imgURL={rustPngUrl}
docsURL="https://signoz.io/docs/instrumentation/rust/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-rust/"
imgClassName="supported-language-img"
/>
);
@@ -205,7 +205,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="rust"
heading="Elixir OpenTelemetry Instrumentation"
imgURL={elixirPngUrl}
docsURL="https://signoz.io/docs/instrumentation/elixir/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-elixir/"
imgClassName="supported-language-img"
/>
);
@@ -215,7 +215,7 @@ export default function ConnectionStatus(): JSX.Element {
entity="swift"
heading="Swift OpenTelemetry Instrumentation"
imgURL={swiftPngUrl}
docsURL="https://signoz.io/docs/instrumentation/swift/"
docsURL="https://signoz.io/docs/instrumentation/opentelemetry-swift/"
imgClassName="supported-language-img"
/>
);

View File

@@ -198,7 +198,7 @@ export default function LogsConnectionStatus(): JSX.Element {
entity="nodejs"
heading="Collecting NodeJS winston logs"
imgURL={nodeJsSvgUrl}
docsURL="https://signoz.io/docs/userguide/collecting_nodejs_winston_logs/"
docsURL="https://signoz.io/docs/logs-management/send-logs/nodejs-winston-logs/"
imgClassName="supported-logs-type-img"
/>
);
@@ -220,7 +220,7 @@ export default function LogsConnectionStatus(): JSX.Element {
docsURL={
logType === ApplicationLogsType.FROM_LOG_FILE
? 'https://signoz.io/docs/userguide/collect_logs_from_file/'
: 'https://signoz.io/docs/userguide/collecting_application_logs_otel_sdk_java/'
: 'https://signoz.io/docs/logs-management/send-logs/java-logs/'
}
imgClassName="supported-logs-type-img"
/>

View File

@@ -64,7 +64,7 @@ function ConfigureGoogleAuthAuthnProvider({
Enter OAuth 2.0 credentials obtained from the Google API Console below.
Read the{' '}
<a
href="https://signoz.io/docs/userguide/sso-authentication"
href="https://signoz.io/docs/manage/administrator-guide/sso/overview/"
target="_blank"
rel="noreferrer"
>

View File

@@ -38,7 +38,7 @@ function ConfigureOIDCAuthnProvider({
Configure OpenID Connect Single Sign-On with your Identity Provider. Read
the{' '}
<a
href="https://signoz.io/docs/userguide/sso-authentication"
href="https://signoz.io/docs/manage/administrator-guide/sso/overview/"
target="_blank"
rel="noreferrer"
>

View File

@@ -37,7 +37,7 @@ function ConfigureSAMLAuthnProvider({
<p className="authn-provider__description">
Configure SAML 2.0 Single Sign-On with your Identity Provider. Read the{' '}
<a
href="https://signoz.io/docs/userguide/sso-authentication"
href="https://signoz.io/docs/manage/administrator-guide/sso/overview/"
target="_blank"
rel="noreferrer"
>

View File

@@ -384,7 +384,7 @@ export const Query = memo(function Query({
Select Aggregate Operator
<Typography.Link
className="learn-more"
href="https://signoz.io/docs/userguide/query-builder/?utm_source=product&utm_medium=query-builder#aggregation"
href="https://signoz.io/docs/querying/aggregation-grouping/?utm_source=product&utm_medium=query-builder#core-aggregation-functions-logs--traces"
target="_blank"
style={{ textDecoration: 'underline' }}
>
@@ -483,7 +483,7 @@ export const Query = memo(function Query({
<div style={{ textAlign: 'center' }}>
Select Aggregate Operator
<Typography.Link
href="https://signoz.io/docs/userguide/query-builder/?utm_source=product&utm_medium=query-builder#aggregation"
href="https://signoz.io/docs/querying/aggregation-grouping/?utm_source=product&utm_medium=query-builder#core-aggregation-functions-logs--traces"
target="_blank"
style={{ textDecoration: 'underline' }}
>
@@ -602,7 +602,7 @@ export const Query = memo(function Query({
Name of legend
<Typography.Link
style={{ textDecoration: 'underline' }}
href="https://signoz.io/docs/userguide/query-builder/?utm_source=product&utm_medium=query-builder#legend-format"
href="https://signoz.io/docs/querying/aggregation-grouping/?utm_source=product&utm_medium=query-builder#legend-formatting"
target="_blank"
>
{' '}

View File

@@ -216,7 +216,7 @@ export default function QueryFunctions({
Add new function
<Typography.Link
style={{ textDecoration: 'underline' }}
href="https://signoz.io/docs/userguide/query-builder/?utm_source=product&utm_medium=query-builder#functions-for-extended-data-analysis"
href="https://signoz.io/docs/querying/functions-extended-analysis/?utm_source=product&utm_medium=query-builder"
target="_blank"
>
{' '}

View File

@@ -100,7 +100,7 @@ function Version(): JSX.Element {
{!isError && !isLatestVersion && (
<div className="version-page-upgrade-container">
<Button
href="https://signoz.io/docs/operate/docker-standalone/#upgrade"
href="https://signoz.io/docs/opentelemetry-collection-agents/docker/overview/"
target="_blank"
type="primary"
className="periscope-btn primary"

View File

@@ -189,7 +189,7 @@ describe('Tooltip utils', () => {
];
}
it('builds tooltip content sorted by value descending with isActive flag set correctly', () => {
it('builds tooltip content in series-index order with isActive flag set correctly', () => {
const data: AlignedData = [[0], [10], [20], [30]];
const series = createSeriesConfig();
const dataIndexes = [null, 0, 0, 0];
@@ -206,21 +206,21 @@ describe('Tooltip utils', () => {
});
expect(result).toHaveLength(2);
// Sorted by value descending: B (20) before A (10)
// Series are returned in series-index order (A=index 1 before B=index 2)
expect(result[0]).toMatchObject<Partial<TooltipContentItem>>({
label: 'B',
value: 20,
tooltipValue: 'formatted-20',
color: 'color-2',
isActive: true,
});
expect(result[1]).toMatchObject<Partial<TooltipContentItem>>({
label: 'A',
value: 10,
tooltipValue: 'formatted-10',
color: '#ff0000',
isActive: false,
});
expect(result[1]).toMatchObject<Partial<TooltipContentItem>>({
label: 'B',
value: 20,
tooltipValue: 'formatted-20',
color: 'color-2',
isActive: true,
});
});
it('skips series with null data index or non-finite values', () => {
@@ -274,7 +274,7 @@ describe('Tooltip utils', () => {
expect(result[1].value).toBe(30);
});
it('returns items sorted by value descending', () => {
it('returns items in series-index order', () => {
// Series values in non-sorted order: 3, 1, 4, 2
const data: AlignedData = [[0], [3], [1], [4], [2]];
const series: Series[] = [
@@ -297,7 +297,7 @@ describe('Tooltip utils', () => {
decimalPrecision,
});
expect(result.map((item) => item.value)).toStrictEqual([4, 3, 2, 1]);
expect(result.map((item) => item.value)).toStrictEqual([3, 1, 4, 2]);
});
});
});

View File

@@ -142,7 +142,5 @@ export function buildTooltipContent({
}
}
items.sort((a, b) => b.value - a.value);
return items;
}

View File

@@ -35,14 +35,14 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
icon: (
<img src={`${javaPngUrl}?currentVersion=${currentVersion}`} alt="" />
),
url: 'https://signoz.io/docs/instrumentation/java/',
url: 'https://signoz.io/docs/instrumentation/java/opentelemetry-java/',
},
{
title: 'Instrument your Python Application',
icon: (
<img src={`${pythonPngUrl}?currentVersion=${currentVersion}`} alt="" />
),
url: 'https://signoz.io/docs/instrumentation/python/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-python/',
},
{
title: 'Instrument your JS Application',
@@ -52,12 +52,12 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
alt=""
/>
),
url: 'https://signoz.io/docs/instrumentation/javascript/',
url: 'https://signoz.io/docs/instrumentation/javascript/overview/',
},
{
title: 'Instrument your Go Application',
icon: <img src={`${goPngUrl}?currentVersion=${currentVersion}`} alt="" />,
url: 'https://signoz.io/docs/instrumentation/golang/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-golang/',
},
{
title: 'Instrument your .NET Application',
@@ -67,33 +67,33 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
alt=""
/>
),
url: 'https://signoz.io/docs/instrumentation/dotnet/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-dotnet/',
},
{
title: 'Instrument your PHP Application',
icon: <img src={`${phpPngUrl}?currentVersion=${currentVersion}`} alt="" />,
url: 'https://signoz.io/docs/instrumentation/php/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-php/',
},
{
title: 'Instrument your Rails Application',
icon: (
<img src={`${railsPngUrl}?currentVersion=${currentVersion}`} alt="" />
),
url: 'https://signoz.io/docs/instrumentation/ruby-on-rails/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-ruby/',
},
{
title: 'Instrument your Rust Application',
icon: (
<img src={`${rustPngUrl}?currentVersion=${currentVersion}`} alt="" />
),
url: 'https://signoz.io/docs/instrumentation/rust/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-rust/',
},
{
title: 'Instrument your Elixir Application',
icon: (
<img src={`${elixirPngUrl}?currentVersion=${currentVersion}`} alt="" />
),
url: 'https://signoz.io/docs/instrumentation/elixir/',
url: 'https://signoz.io/docs/instrumentation/opentelemetry-elixir/',
},
],
},
@@ -103,12 +103,12 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
{
title: 'Send metrics to SigNoz',
icon: <ChartBar size="lg" />,
url: 'https://signoz.io/docs/userguide/send-metrics/',
url: 'https://signoz.io/docs/metrics-management/send-metrics/',
},
{
title: 'Create and Manage Dashboards',
icon: <LayoutDashboard size="lg" />,
url: 'https://signoz.io/docs/userguide/manage-dashboards-and-panels/',
url: 'https://signoz.io/docs/userguide/manage-dashboards/',
},
],
},
@@ -118,7 +118,7 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
{
title: 'Send your logs to SigNoz',
icon: <AlignLeft size="lg" />,
url: 'https://signoz.io/docs/userguide/logs/',
url: 'https://signoz.io/docs/userguide/logs_query_builder/',
},
{
title: 'Existing log collectors to SigNoz',
@@ -133,12 +133,12 @@ export const GetStartedContent = (): TGetStartedContentSection[] => {
{
title: 'Create alert rules on metrics',
icon: <BellRing size="lg" />,
url: 'https://signoz.io/docs/userguide/alerts-management/',
url: 'https://signoz.io/docs/alerts/',
},
{
title: 'Configure alert notification channels',
icon: <Volume2 size="lg" />,
url: 'https://signoz.io/docs/userguide/alerts-management/#setting-up-a-notification-channel',
url: 'https://signoz.io/docs/setup-alerts-notification/',
},
],
},

View File

@@ -305,7 +305,7 @@ function SaveView(): JSX.Element {
Manage your saved views for {ROUTES_VS_SOURCEPAGE[pathname]}.{' '}
<Typography.Link
className="learn-more"
href="https://signoz.io/docs/product-features/saved-view/?utm_source=product&utm_medium=views-tab"
href="https://signoz.io/docs/metrics-management/metrics-explorer/?utm_source=product&utm_medium=views-tab#saved-views-in-metrics-explorer"
target="_blank"
>
Learn more

View File

@@ -1,11 +1,11 @@
const DOCLINKS = {
TRACES_EXPLORER_EMPTY_STATE:
'https://signoz.io/docs/instrumentation/overview/?utm_source=product&utm_medium=traces-explorer-empty-state',
USER_GUIDE: 'https://signoz.io/docs/userguide/',
USER_GUIDE: 'https://signoz.io/docs/introduction/',
TRACES_DETAILS_LINK:
'https://signoz.io/docs/product-features/trace-explorer/?utm_source=product&utm_medium=traces-explorer-trace-tab#traces-view',
'https://signoz.io/docs/userguide/traces/?utm_source=product&utm_medium=traces-explorer-trace-tab#traces-view',
METRICS_EXPLORER_EMPTY_STATE:
'https://signoz.io/docs/userguide/send-metrics-cloud/',
'https://signoz.io/docs/metrics-management/send-metrics/',
EXTERNAL_API_MONITORING:
'https://signoz.io/docs/external-api-monitoring/overview/',
QUERY_CLICKHOUSE_TRACES: