From 5ef3b8ee3fc4657128a3490e922644f5f65c1e38 Mon Sep 17 00:00:00 2001 From: Yunus M Date: Wed, 2 Apr 2025 11:59:53 +0530 Subject: [PATCH] feat: support request data source and improve layout (#7485) * feat: support request data source and improve layout * feat: update config * feat: update config with related keywords * update config --------- Co-authored-by: makeavish --- .../AddDataSource/AddDataSource.tsx | 334 +++++- .../OnboardingV2.styles.scss | 143 ++- .../onboarding-config-with-links.json | 1059 ++++++++++++++++- frontend/src/periscope.scss | 7 + 4 files changed, 1451 insertions(+), 92 deletions(-) diff --git a/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx b/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx index d336928f95..f776151d2d 100644 --- a/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx +++ b/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx @@ -15,11 +15,12 @@ import { import logEvent from 'api/common/logEvent'; import LaunchChatSupport from 'components/LaunchChatSupport/LaunchChatSupport'; import ROUTES from 'constants/routes'; +import useDebouncedFn from 'hooks/useDebouncedFunction'; import history from 'lib/history'; import { isEmpty } from 'lodash-es'; -import { ArrowRight, X } from 'lucide-react'; +import { CheckIcon, Goal, UserPlus, X } from 'lucide-react'; import { useAppContext } from 'providers/App/App'; -import React, { useEffect, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; import OnboardingIngestionDetails from '../IngestionDetails/IngestionDetails'; import InviteTeamMembers from '../InviteTeamMembers/InviteTeamMembers'; @@ -68,6 +69,7 @@ interface Entity { }; }; tags: string[]; + relatedSearchKeywords?: string[]; link?: string; } @@ -99,8 +101,11 @@ const ONBOARDING_V3_ANALYTICS_EVENTS_MAP = { GET_EXPERT_ASSISTANCE_BUTTON_CLICKED: 'Get expert assistance clicked', INVITE_TEAM_MEMBER_BUTTON_CLICKED: 'Invite team member clicked', CLOSE_ONBOARDING_CLICKED: 'Close onboarding clicked', + DATA_SOURCE_REQUESTED: 'Datasource requested', + DATA_SOURCE_SEARCHED: 'Searched', }; +// eslint-disable-next-line sonarjs/cognitive-complexity function OnboardingAddDataSource(): JSX.Element { const [groupedDataSources, setGroupedDataSources] = useState<{ [tag: string]: Entity[]; @@ -110,6 +115,8 @@ function OnboardingAddDataSource(): JSX.Element { const [setupStepItems, setSetupStepItems] = useState(setupStepItemsBase); + const [searchQuery, setSearchQuery] = useState(''); + const question2Ref = useRef(null); const question3Ref = useRef(null); const configureProdRef = useRef(null); @@ -120,8 +127,15 @@ function OnboardingAddDataSource(): JSX.Element { const [currentStep, setCurrentStep] = useState(1); + const [dataSourceRequest, setDataSourceRequest] = useState(''); + const [hasMoreQuestions, setHasMoreQuestions] = useState(true); + const [ + showRequestDataSourceModal, + setShowRequestDataSourceModal, + ] = useState(false); + const [ showInviteTeamMembersModal, setShowInviteTeamMembersModal, @@ -145,6 +159,11 @@ function OnboardingAddDataSource(): JSX.Element { const [selectedCategory, setSelectedCategory] = useState('All'); + const [ + dataSourceRequestSubmitted, + setDataSourceRequestSubmitted, + ] = useState(false); + const handleScrollToStep = (ref: React.RefObject): void => { setTimeout(() => { ref.current?.scrollIntoView({ @@ -286,8 +305,10 @@ function OnboardingAddDataSource(): JSX.Element { setGroupedDataSources(groupedDataSources); }, []); - const handleSearch = (e: React.ChangeEvent): void => { - const query = e.target.value.toLowerCase(); + const debouncedUpdate = useDebouncedFn((query) => { + setSearchQuery(query as string); + + setDataSourceRequestSubmitted(false); if (query === '') { setGroupedDataSources( @@ -298,15 +319,35 @@ function OnboardingAddDataSource(): JSX.Element { const filteredDataSources = onboardingConfigWithLinks.filter( (dataSource) => - dataSource.label.toLowerCase().includes(query) || - dataSource.tags.some((tag) => tag.toLowerCase().includes(query)), + dataSource.label.toLowerCase().includes(query as string) || + dataSource.tags.some((tag) => + tag.toLowerCase().includes(query as string), + ) || + dataSource.relatedSearchKeywords?.some((keyword) => + keyword?.toLowerCase().includes(query as string), + ), ); setGroupedDataSources( groupDataSourcesByTags(filteredDataSources as Entity[]), ); - }; + logEvent( + `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_SEARCHED}`, + { + searchedDataSource: query, + }, + ); + }, 300); + + const handleSearch = useCallback( + (e: React.ChangeEvent): void => { + const query = e.target.value.trim().toLowerCase(); + + debouncedUpdate(query || ''); + }, + [debouncedUpdate], + ); const handleFilterByCategory = (category: string): void => { setSelectedDataSource(null); setSelectedFramework(null); @@ -409,6 +450,129 @@ function OnboardingAddDataSource(): JSX.Element { setShowInviteTeamMembersModal(true); }; + const handleSubmitDataSourceRequest = (): void => { + logEvent( + `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_REQUESTED}`, + { + requestedDataSource: dataSourceRequest, + }, + ); + setShowRequestDataSourceModal(false); + setDataSourceRequestSubmitted(true); + }; + + const handleRequestDataSource = (): void => { + setShowRequestDataSourceModal(true); + }; + + const handleRaiseRequest = (): void => { + logEvent( + `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_REQUESTED}`, + { + requestedDataSource: searchQuery, + }, + ); + + setDataSourceRequestSubmitted(true); + }; + + const renderRequestDataSource = (): JSX.Element => { + const isSearchQueryEmpty = searchQuery.length === 0; + const isNoResultsFound = Object.keys(groupedDataSources).length === 0; + + return ( +
+ {!isNoResultsFound && ( + <> + Can’t find what you’re looking for? + + + + + + {!dataSourceRequestSubmitted && ( + + )} + + {dataSourceRequestSubmitted && ( + + )} + + )} + + {isNoResultsFound && !isSearchQueryEmpty && ( + <> + + Our team can help add{' '} + {searchQuery}{' '} + support for you + + + + + + + {!dataSourceRequestSubmitted && ( + + )} + + {dataSourceRequestSubmitted && ( + + )} + + )} +
+ ); + }; + return (
@@ -433,6 +597,15 @@ function OnboardingAddDataSource(): JSX.Element {
+ +
@@ -461,7 +634,11 @@ function OnboardingAddDataSource(): JSX.Element {
-
+
{currentStep === 1 && ( @@ -491,6 +668,7 @@ function OnboardingAddDataSource(): JSX.Element {
} /> @@ -525,6 +703,14 @@ function OnboardingAddDataSource(): JSX.Element {
))} + + {Object.keys(groupedDataSources).length === 0 && ( +
+ No results for {searchQuery} :/ +
+ )} + + {!selectedDataSource && renderRequestDataSource()}
@@ -534,33 +720,66 @@ function OnboardingAddDataSource(): JSX.Element { Filters{' '} - handleFilterByCategory('All')} + role="button" + tabIndex={0} + onKeyDown={(e): void => { + if (e.key === 'Enter' || e.key === ' ') { + handleFilterByCategory('All'); + } + }} > - All ({onboardingConfigWithLinks.length}) - + + All + + +
+ + + {onboardingConfigWithLinks.length} + +
{Object.keys(groupedDataSources).map((tag) => ( -
+
handleFilterByCategory(tag)} + role="button" + tabIndex={0} + onKeyDown={(e): void => { + if (e.key === 'Enter' || e.key === ' ') { + handleFilterByCategory(tag); + } + }} + > handleFilterByCategory(tag)} > - {tag} ({groupedDataSources[tag].length}) + {tag} + +
+ + + {groupedDataSources[tag].length} +
))}
- {selectedDataSource && selectedDataSource?.question && !isEmpty(selectedDataSource?.question) && ( @@ -615,7 +834,6 @@ function OnboardingAddDataSource(): JSX.Element { )}
)} - {selectedFramework && selectedFramework?.question && !isEmpty(selectedFramework?.question) && ( @@ -659,7 +877,6 @@ function OnboardingAddDataSource(): JSX.Element { )}
)} - {!hasMoreQuestions && showConfigureProduct && (
-
Or
-
- - Need help with setup? Upgrade now and get expert assistance. - - - -
-
- )} - {currentStep === 2 && } @@ -824,6 +1008,46 @@ function OnboardingAddDataSource(): JSX.Element { /> + + Request Data Source} + open={showRequestDataSourceModal} + closable + onCancel={(): void => setShowRequestDataSourceModal(false)} + width="640px" + footer={[ + , + , + ]} + destroyOnClose + > +
+ Enter your request + setDataSourceRequest(e.target.value)} + /> +
+
); diff --git a/frontend/src/container/OnboardingV2Container/OnboardingV2.styles.scss b/frontend/src/container/OnboardingV2Container/OnboardingV2.styles.scss index 509ae35bc1..5b1163cdcb 100644 --- a/frontend/src/container/OnboardingV2Container/OnboardingV2.styles.scss +++ b/frontend/src/container/OnboardingV2Container/OnboardingV2.styles.scss @@ -4,14 +4,15 @@ &__header { background: rgba(11, 12, 14, 0.7); + border-bottom: 1px solid var(--bg-slate-500); backdrop-filter: blur(20px); - padding: 16px 0px 0px 0px; + padding: 12px 0px; &--sticky { display: flex; align-items: center; padding: 0px 1rem; - // margin-top: 16px; + margin-top: 12px; background: rgba(11, 12, 14, 0.7); backdrop-filter: blur(20px); @@ -323,7 +324,8 @@ } } - .get-help-btn { + .get-help-btn, + .invite-teammate-btn { font-size: 11px; padding: 6px 16px; border: 1px solid var(--bg-slate-400) !important; @@ -610,15 +612,61 @@ display: flex; .data-sources-container { - flex: 0 0 70%; - max-width: 70%; + flex: 0 0 80%; + max-width: 80%; margin-right: 32px; } .data-source-categories-filter-container { - flex: 0 0 30%; - max-width: 30%; + flex: 0 0 20%; + max-width: 20%; + + .onboarding-data-source-category { + .onboarding-data-source-category-item { + display: flex; + align-items: center; + justify-content: space-between; + + margin-bottom: 8px; + cursor: pointer; + } + + .onboarding-filters-item-title { + display: flex; + align-items: center; + justify-content: space-between; + + margin-bottom: 0px !important; + } + + .line-divider { + height: 1px; + margin: 0 16px; + flex-grow: 1; + border-top: 2px dotted var(--bg-slate-400); + } + + .onboarding-filters-item-count { + color: var(--text-vanilla-400); + font-family: Inter; + font-size: 10px; + font-style: normal; + font-weight: 400; + line-height: 18px; /* 150% */ + + background-color: var(--bg-ink-400); + border-radius: 4px; + + width: 24px; + height: 24px; + border-radius: 50%; + + display: flex; + align-items: center; + justify-content: center; + } + } } } @@ -643,8 +691,14 @@ max-width: 70%; display: flex; + flex-direction: column; gap: 24px; + &.step-id-1 { + flex: 0 0 90%; + max-width: 90%; + } + // border-right: 1px solid var(--Greyscale-Slate-400, #1d212d); .perlian-bg { @@ -678,7 +732,7 @@ &_right-section { flex: 1; max-width: 30%; - height: calc(100vh - 120px); + height: calc(100vh - 130px); display: flex; flex-direction: column; @@ -972,6 +1026,52 @@ } } +.no-results-found-container { + .ant-typography { + color: rgba(192, 193, 195, 0.6); + font-family: Inter; + font-size: 11px; + font-style: normal; + line-height: 18px; /* 150% */ + letter-spacing: 0.48px; + text-transform: uppercase; + } +} + +.request-data-source-container { + display: flex; + align-items: center; + gap: 16px; + + margin: 36px 0; + + display: flex; + + width: fit-content; + gap: 24px; + + padding: 12px 12px 12px 16px; + border-radius: 6px; + background: rgba(171, 189, 255, 0.06); + + .request-data-source-search-query { + border-radius: 2px; + border: 1px solid rgba(173, 127, 88, 0.1); + background: rgba(173, 127, 88, 0.1); + + color: var(--Sienna-400, #bd9979); + font-size: 13px; + padding: 2px; + line-height: 20px; /* 142.857% */ + } + + .request-data-source-btn { + border-radius: 2px; + border: 1px solid var(--Slate-200, #2c3140); + background: var(--Ink-200, #23262e); + } +} + .onboarding-data-source-category-container { flex: 1; max-width: 30%; @@ -996,7 +1096,7 @@ } .onboarding-configure-container { - height: calc(100vh - 120px); + height: calc(100vh - 130px); width: 100%; display: flex; flex-direction: column; @@ -1070,7 +1170,8 @@ height: 18px; } -.invite-team-member-modal { +.invite-team-member-modal, +.request-data-source-modal { .ant-modal-content { background-color: var(--bg-ink-500); } @@ -1079,9 +1180,26 @@ background-color: var(--bg-ink-500); } - .invite-team-member-modal-content { + .invite-team-member-modal-content, + .request-data-source-modal-content { background-color: var(--bg-ink-500); } + + .request-data-source-modal-content { + padding: 12px 0; + } + + .request-data-source-modal-input { + margin-top: 8px; + } +} + +.request-data-source-modal { + .ant-modal-footer { + display: flex; + justify-content: flex-end; + align-items: center; + } } .ingestion-setup-details-links { @@ -1262,7 +1380,8 @@ } .onboarding-v2 { - .get-help-btn { + .get-help-btn, + .invite-teammate-btn { border: 1px solid var(--bg-vanilla-300) !important; color: var(--bg-ink-300) !important; diff --git a/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json b/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json index b33bdffa8e..7a4c091c0c 100644 --- a/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json +++ b/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json @@ -7,6 +7,35 @@ "imgUrl": "/Logos/java.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "java", + "java apm", + "springboot", + "spring boot", + "spring cloud", + "tomcat", + "jboss", + "quarkus", + "java agent", + "java sdk", + "java microservices", + "java application", + "java tracing", + "java instrumentation", + "opentelemetry java", + "java observability", + "java monitoring", + "java logs", + "java metrics", + "jdk 8", + "jdk 11", + "jdk 17", + "jdk 21", + "java vm", + "java k8s", + "java windows" + ], "question": { "desc": "Which Java framework do you use?", "type": "select", @@ -111,29 +140,29 @@ "imgUrl": "/Logos/quarkus.svg", "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/", "question": { - "desc": "What is your Environment?", - "type": "select", - "entityID": "environment", - "options": [ - { - "key": "vm", - "label": "VM", - "imgUrl": "/Logos/vm.svg", - "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" - }, - { - "key": "k8s", - "label": "Kubernetes", - "imgUrl": "/Logos/kubernetes.svg", - "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" - }, - { - "key": "windows", - "label": "Windows", - "imgUrl": "/Logos/windows.svg", - "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" - } - ] + "desc": "What is your Environment?", + "type": "select", + "entityID": "environment", + "options": [ + { + "key": "vm", + "label": "VM", + "imgUrl": "/Logos/vm.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" + }, + { + "key": "k8s", + "label": "Kubernetes", + "imgUrl": "/Logos/kubernetes.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" + }, + { + "key": "windows", + "label": "Windows", + "imgUrl": "/Logos/windows.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-quarkus/" + } + ] } }, { @@ -170,6 +199,32 @@ "imgUrl": "/Logos/python.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "python", + "python apm", + "python instrumentation", + "python observability", + "opentelemetry python", + "python tracing", + "python metrics", + "monitor python application", + "monitor python backend", + "python performance monitoring", + "python microservices", + "python distributed tracing", + "flask", + "django", + "fastapi", + "falcon", + "python k8s", + "python on kubernetes", + "python vm", + "python in containers", + "python on windows", + "otel python sdk", + "python runtime monitoring" + ], "id": "python", "question": { "desc": "Which Python framework do you use?", @@ -309,6 +364,18 @@ "label": "JavaScript", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "javascript", + "nodejs", + "express", + "nestjs", + "angular", + "nextjs", + "js", + "typescript", + "ts" + ], "id": "javascript", "imgUrl": "/Logos/javascript.svg", "question": { @@ -480,6 +547,36 @@ "imgUrl": "/Logos/go.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "golang", + "go", + "go apm", + "golang apm", + "opentelemetry golang", + "opentelemetry go", + "go tracing", + "golang tracing", + "go instrumentation", + "golang instrumentation", + "go observability", + "golang observability", + "go metrics", + "golang metrics", + "go performance monitoring", + "golang performance monitoring", + "monitor go applications", + "monitor golang backend", + "go microservices monitoring", + "go distributed tracing", + "otel go sdk", + "otel golang sdk", + "gin", + "go in kubernetes", + "go containers", + "go on vm", + "go on windows" + ], "id": "golang", "link": "https://signoz.io/docs/instrumentation/opentelemetry-golang/", "question": { @@ -514,6 +611,40 @@ "imgUrl": "/Logos/php.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "php", + "php apm", + "php tracing", + "php performance monitoring", + "php instrumentation", + "php observability", + "php metrics", + "php distributed tracing", + "php microservices monitoring", + "monitor php applications", + "monitor php backend", + "opentelemetry php", + "otel php", + "otel sdk php", + "php opentelemetry sdk", + "php jaeger tracing", + "php zipkin tracing", + "otel php exporter", + "php http instrumentation", + "php prometheus exporter", + "php-fpm monitoring", + "php on kubernetes", + "php in containers", + "php on vm", + "php on windows", + "laravel", + "laravel php", + "laravel tracing", + "laravel monitoring", + "laravel observability", + "slim php" + ], "id": "php", "link": "https://signoz.io/docs/instrumentation/opentelemetry-php/", "question": { @@ -548,6 +679,45 @@ "imgUrl": "/Logos/dotnet.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + ".net", + "dotnet", + ".net apm", + "dotnet apm", + ".net observability", + "dotnet observability", + "opentelemetry dotnet", + "otel dotnet", + "otel .net sdk", + "dotnet tracing", + ".net tracing", + ".net instrumentation", + "dotnet instrumentation", + ".net distributed tracing", + "monitor .net application", + "monitor dotnet backend", + "asp.net core", + "asp.net core apm", + "asp.net tracing", + "asp.net telemetry", + "asp.net performance monitoring", + "mvc .net monitoring", + "web api .net", + "iis application monitoring", + ".net windows monitoring", + ".net kubernetes", + "dotnet in containers", + "opentelemetry exporter .net", + ".net prometheus exporter", + "c# opentelemetry", + "monitor c# app", + "entity framework telemetry", + "grpc .net monitoring", + "dotnet 6 tracing", + "dotnet 7 observability", + "dotnet 8 telemetry" + ], "id": "dotnet", "link": "https://signoz.io/docs/instrumentation/opentelemetry-dotnet/", "question": { @@ -582,6 +752,37 @@ "imgUrl": "/Logos/ruby-on-rails.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "ruby", + "ruby on rails", + "rails", + "ror", + "rails apm", + "ruby apm", + "rails tracing", + "ruby tracing", + "rails observability", + "ruby observability", + "opentelemetry ruby", + "otel ruby", + "otel rails", + "rails instrumentation", + "ruby instrumentation", + "rails performance monitoring", + "monitor rails apps", + "monitor ruby backend", + "rails distributed tracing", + "ruby distributed tracing", + "rails opentelemetry sdk", + "otel exporter ruby", + "rails metrics", + "rails telemetry data", + "rails on kubernetes", + "rails docker containers", + "rails vm monitoring", + "rails http tracing" + ], "id": "ruby-on-rails", "link": "https://signoz.io/docs/instrumentation/opentelemetry-ruby-on-rails/", "question": { @@ -616,6 +817,31 @@ "imgUrl": "/Logos/elixir.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "elixir", + "elixir apm", + "elixir tracing", + "elixir observability", + "elixir performance monitoring", + "elixir instrumentation", + "opentelemetry elixir", + "otel elixir", + "elixir distributed tracing", + "monitor elixir app", + "elixir telemetry", + "elixir metrics", + "phoenix framework", + "phoenix observability", + "phoenix tracing", + "phoenix apm", + "phoenix metrics", + "opentelemetry phoenix", + "elixir on kubernetes", + "elixir vm monitoring", + "erlang tracing", + "elixir open telemetry integration" + ], "id": "elixir", "link": "https://signoz.io/docs/instrumentation/opentelemetry-elixir/", "question": { @@ -650,6 +876,25 @@ "imgUrl": "/Logos/rust.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "rust", + "rust apm", + "rust tracing", + "rust observability", + "rust performance monitoring", + "rust instrumentation", + "opentelemetry rust", + "otel rust", + "opentelemetry sdk rust", + "otel tracing rust", + "rust distributed tracing", + "monitor rust application", + "tokio tracing", + "opentelemetry tonic rust", + "rust on kubernetes", + "rust docker monitoring" + ], "id": "rust", "link": "https://signoz.io/docs/instrumentation/opentelemetry-rust/", "question": { @@ -684,6 +929,39 @@ "imgUrl": "/Logos/swift.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "swift", + "ios", + "swift apm", + "ios apm", + "ios tracing", + "swift tracing", + "swift observability", + "ios observability", + "ios performance monitoring", + "swift performance monitoring", + "mobile app monitoring", + "mobile performance monitoring", + "opentelemetry swift", + "otel swift", + "otel ios sdk", + "ios instrumentation", + "swift instrumentation", + "monitor ios apps", + "monitor swift apps", + "ios distributed tracing", + "swift distributed tracing", + "swiftui tracing", + "swiftui monitoring", + "opentelemetry swiftui", + "urlsession instrumentation", + "ios sdk opentelemetry", + "apple ecosystem observability", + "swift prometheus exporter", + "ios otlp exporter", + "ios telemetry sdk" + ], "id": "swift", "link": "https://signoz.io/docs/instrumentation/opentelemetry-swift/", "question": { @@ -718,6 +996,39 @@ "imgUrl": "/Logos/cpp.svg", "tags": ["apm"], "module": "apm", + "relatedSearchKeywords": [ + "apm", + "c++", + "cpp", + "c++ apm", + "cpp apm", + "c++ tracing", + "cpp tracing", + "c++ observability", + "cpp observability", + "c++ performance monitoring", + "cpp performance monitoring", + "c++ instrumentation", + "cpp instrumentation", + "opentelemetry c++", + "otel c++", + "otel cpp", + "c++ distributed tracing", + "monitor c++ application", + "c++ opentelemetry sdk", + "otel sdk cpp", + "c++ telemetry", + "c++ metrics collection", + "otel exporter c++", + "c++ grpc tracing", + "cpp microservices monitoring", + "c++ application monitoring", + "c++ http server telemetry", + "c++ otlp exporter", + "otel cpp observability setup", + "cpp container monitoring", + "cpp kubernetes instrumentation" + ], "id": "opentelemetry-cpp", "link": "https://signoz.io/docs/instrumentation/opentelemetry-cpp/" }, @@ -727,6 +1038,18 @@ "imgUrl": "/Logos/kubernetes.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "kubernetes pod logs", + "k8s logs", + "collect pod logs", + "kubernetes log collection", + "kubernetes container logs", + "k8s log monitoring", + "kubernetes logs opentelemetry", + "pod stdout stderr logs", + "k8s log aggregation", + "kubernetes logging with otel" + ], "id": "kubernetes-pod-logs", "link": "https://signoz.io/docs/userguide/collect_kubernetes_pod_logs/" }, @@ -736,6 +1059,18 @@ "imgUrl": "/Logos/docker.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "docker container logs", + "collect docker logs", + "docker logging opentelemetry", + "docker log monitoring", + "docker stdout stderr logs", + "container logs with otel", + "docker log aggregation", + "docker log collection setup", + "docker logs observability", + "docker logging to signoz" + ], "id": "docker-container-logs", "link": "https://signoz.io/docs/userguide/collect_docker_logs/" }, @@ -745,6 +1080,18 @@ "imgUrl": "/Logos/vercel.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "vercel logs", + "vercel log monitoring", + "vercel log forwarding", + "vercel opentelemetry integration", + "collect vercel logs", + "vercel observability", + "vercel functions logs", + "vercel logging setup", + "vercel to otel", + "vercel logs to signoz" + ], "id": "vercel-logs", "link": "https://signoz.io/docs/userguide/vercel_logs_to_signoz/" }, @@ -754,6 +1101,18 @@ "imgUrl": "/Logos/heroku.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "heroku logs", + "heroku log monitoring", + "heroku log forwarding", + "heroku opentelemetry integration", + "collect heroku logs", + "heroku observability", + "heroku log shipper", + "heroku to otel", + "heroku logging setup", + "heroku logs to signoz" + ], "id": "heroku-logs", "link": "https://signoz.io/docs/userguide/heroku_logs_to_signoz/" }, @@ -763,6 +1122,18 @@ "imgUrl": "/Logos/http.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "http logs", + "send logs via http", + "http log forwarding", + "custom http log ingestion", + "http log collector", + "http json logs", + "opentelemetry http logs", + "otel http log export", + "http logs to signoz", + "collect logs over http" + ], "id": "http-logs", "link": "https://signoz.io/docs/userguide/send-logs-http/" }, @@ -772,6 +1143,18 @@ "imgUrl": "/Logos/syslogs.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "syslogs", + "collect syslogs", + "syslog monitoring", + "syslog opentelemetry", + "syslog to otel", + "linux syslog monitoring", + "rsyslog to otel", + "syslog forwarding", + "syslog exporter", + "send syslogs to signoz" + ], "id": "syslogs", "link": "https://signoz.io/docs/userguide/collecting_syslogs/" }, @@ -781,6 +1164,18 @@ "imgUrl": "/Logos/fluentd.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "fluentd logs", + "fluentd log forwarding", + "fluentd opentelemetry", + "fluentd log shipper", + "collect logs with fluentd", + "fluentd kubernetes logging", + "fluentd docker logs", + "fluentd to otel", + "fluentd observability", + "fluentd to signoz" + ], "id": "fluentd", "link": "https://signoz.io/docs/userguide/fluentd_to_signoz/" }, @@ -790,6 +1185,18 @@ "imgUrl": "/Logos/fluentbit.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "fluentbit logs", + "fluentbit log forwarding", + "fluentbit opentelemetry integration", + "fluentbit to otel", + "fluentbit log shipper", + "fluentbit docker logs", + "fluentbit kubernetes logs", + "fluentbit observability", + "fluentbit log pipeline", + "fluentbit to signoz" + ], "id": "fluentbit", "link": "https://signoz.io/docs/userguide/fluentbit_to_signoz/" }, @@ -799,6 +1206,18 @@ "imgUrl": "/Logos/logstash.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "logstash logs", + "logstash log collection", + "logstash opentelemetry integration", + "logstash to otel", + "logstash log forwarding", + "logstash centralized logging", + "logstash log shipper", + "logstash observability", + "logstash pipeline monitoring", + "logstash to signoz" + ], "id": "logstash", "link": "https://signoz.io/docs/userguide/logstash_to_signoz/" }, @@ -808,6 +1227,18 @@ "imgUrl": "/Logos/tomcat-logs.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "tomcat logs", + "tomcat access logs", + "tomcat gc logs", + "tomcat log monitoring", + "opentelemetry tomcat logs", + "otel tomcat log exporter", + "collect tomcat logs", + "tomcat observability", + "java gc logs tomcat", + "tomcat logs to signoz" + ], "id": "tomcat-logs", "link": "https://signoz.io/docs/logs-management/send-logs/collect-tomcat-access-and-garbage-collector-logs/" }, @@ -817,6 +1248,18 @@ "imgUrl": "/Logos/vector.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "vector logs", + "vector log collection", + "vector log forwarding", + "vector opentelemetry integration", + "vector to otel", + "vector log shipper", + "vector observability", + "vector telemetry pipeline", + "vector structured logging", + "vector to signoz" + ], "id": "vector-logs", "link": "https://signoz.io/docs/logs-management/send-logs/vector-logs-to-signoz/" }, @@ -826,6 +1269,18 @@ "imgUrl": "/Logos/windows-events-logs.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "windows event logs", + "collect windows logs", + "windows logs opentelemetry", + "otel windows event logs", + "windows log monitoring", + "windows server logs", + "event viewer logs collection", + "windows observability", + "windows logging setup", + "windows logs to signoz" + ], "link": "https://signoz.io/docs/logs-management/send-logs/windows-events-log/" }, { @@ -834,6 +1289,18 @@ "imgUrl": "/Logos/cloudwatch-logs.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "aws cloudwatch logs", + "cloudwatch log monitoring", + "cloudwatch log collection", + "cloudwatch logs opentelemetry", + "cloudwatch to otel", + "cloudwatch logs integration", + "send logs to signoz", + "aws logs observability", + "cloudwatch exporter", + "cloudwatch log ingestion" + ], "link": "https://signoz.io/docs/userguide/send-cloudwatch-logs-to-signoz/" }, { @@ -842,7 +1309,19 @@ "imgUrl": "/Logos/from-log-file.svg", "tags": ["logs"], "module": "logs", - "link": "https://signoz.io/docs/logs-management/send-logs/aws-lambda-nodejs/" + "relatedSearchKeywords": [ + "log file ingestion", + "custom log file monitoring", + "collect logs from file", + "file based logging", + "application log file collection", + "log files opentelemetry", + "otel file logs", + "filebeat alternative", + "log tailing with otel", + "log file to signoz" + ], + "link": "https://signoz.io/docs/userguide/collect_logs_from_file/" }, { "dataSource": "aws-lambda-nodejs-logs", @@ -850,7 +1329,19 @@ "imgUrl": "/Logos/lambda.svg", "tags": ["logs"], "module": "logs", - "link": "https://signoz.io/docs/userguide/collect_logs_from_file/" + "relatedSearchKeywords": [ + "aws lambda logs", + "lambda nodejs logs", + "lambda log monitoring", + "lambda logs opentelemetry", + "otel lambda nodejs", + "collect logs from lambda", + "lambda cloudwatch logs", + "lambda structured logging", + "lambda observability", + "lambda logs to signoz" + ], + "link": "https://signoz.io/docs/logs-management/send-logs/aws-lambda-nodejs/" }, { "dataSource": "python-logs-auto-instrumentation", @@ -858,6 +1349,18 @@ "imgUrl": "/Logos/python.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "python logs", + "python log auto instrumentation", + "opentelemetry python logging", + "otel python logs", + "python logging sdk", + "python app logs", + "python observability", + "auto collect python logs", + "python structured logging", + "python logs to signoz" + ], "link": "https://signoz.io/docs/userguide/python-logs-auto-instrumentation/" }, { @@ -866,6 +1369,18 @@ "imgUrl": "/Logos/java.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "java logs", + "otel java sdk logs", + "java logging opentelemetry", + "collect java logs", + "java observability", + "java log exporter", + "otel logs java", + "structured logging java", + "java application logs", + "java logs to signoz" + ], "link": "https://signoz.io/docs/userguide/collecting_application_logs_otel_sdk_java/" }, { @@ -874,6 +1389,19 @@ "imgUrl": "/Logos/pino.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "pino logs", + "nodejs pino logging", + "pino structured logs", + "pino log collection", + "pino opentelemetry integration", + "pino to otel", + "pino log forwarding", + "pino logger nodejs", + "pino log exporter", + "pino logs to signoz", + "nodejs" + ], "link": "https://signoz.io/docs/logs-management/send-logs/nodejs-pino-logs/" }, { @@ -882,6 +1410,19 @@ "imgUrl": "/Logos/winston.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "winston logs", + "nodejs winston logging", + "winston log forwarding", + "winston structured logs", + "winston opentelemetry integration", + "otel winston exporter", + "winston nodejs observability", + "winston log collector", + "winston log transport", + "winston logs to signoz", + "nodejs" + ], "link": "https://signoz.io/docs/logs-management/send-logs/nodejs-winston-logs/" }, { @@ -890,6 +1431,18 @@ "imgUrl": "/Logos/zap.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "zap logs", + "golang zap logging", + "zap logger otel", + "zap structured logs", + "opentelemetry zap integration", + "zap observability golang", + "golang logging zap", + "collect zap logs", + "zap log exporter", + "zap logs to signoz" + ], "link": "https://signoz.io/docs/logs-management/send-logs/zap-to-signoz/" }, { @@ -898,6 +1451,18 @@ "imgUrl": "/Logos/logrus.svg", "tags": ["logs"], "module": "logs", + "relatedSearchKeywords": [ + "logrus logs", + "golang logrus logging", + "logrus otel exporter", + "logrus structured logging", + "opentelemetry logrus integration", + "logrus observability golang", + "logrus to signoz", + "logrus log forwarding", + "logrus json logs", + "golang logrus collector" + ], "link": "https://signoz.io/docs/logs-management/send-logs/logrus-to-signoz/" }, { @@ -905,6 +1470,18 @@ "label": "Host Monitoring", "tags": ["infrastructure monitoring"], "module": "infra-monitoring-hosts", + "relatedSearchKeywords": [ + "host metrics", + "system metrics monitoring", + "collect cpu memory disk", + "linux host monitoring", + "vm performance metrics", + "host resource usage", + "otel hostmetrics receiver", + "infrastructure monitoring", + "collect node metrics", + "host metrics to signoz" + ], "imgUrl": "/Logos/hostmetrics.svg", "link": "https://signoz.io/docs/userguide/hostmetrics/" }, @@ -913,6 +1490,18 @@ "label": "Kubernetes Monitoring", "tags": ["infrastructure monitoring"], "module": "infra-monitoring-k8s", + "relatedSearchKeywords": [ + "kubernetes metrics", + "k8s pod metrics", + "collect k8s metrics", + "kubernetes cluster monitoring", + "node metrics kubernetes", + "opentelemetry k8s metrics", + "kubernetes resource usage", + "otel k8s metrics receiver", + "k8s performance metrics", + "kubernetes metrics to signoz" + ], "imgUrl": "/Logos/kubernetes.svg", "link": "https://signoz.io/docs/userguide/k8s-metrics/" }, @@ -921,6 +1510,18 @@ "label": "Docker Container Metrics", "tags": ["metrics"], "module": "metrics", + "relatedSearchKeywords": [ + "docker container metrics", + "monitor docker containers", + "container cpu memory usage", + "docker performance monitoring", + "otel docker receiver", + "docker resource metrics", + "collect docker stats", + "docker container telemetry", + "docker metrics opentelemetry", + "docker metrics to signoz" + ], "imgUrl": "/Logos/docker.svg", "link": "https://signoz.io/docs/userguide/k8s-metrics/" }, @@ -929,6 +1530,18 @@ "label": "EC2 Application Logs", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "ec2 application logs", + "aws ec2 log collection", + "ec2 log monitoring", + "collect ec2 logs", + "opentelemetry ec2 logs", + "ec2 observability", + "ec2 log ingestion", + "ec2 logs to signoz", + "aws logs otel", + "ec2 structured logging" + ], "imgUrl": "/Logos/ec2.svg", "link": "https://signoz.io/docs/aws-monitoring/ec2-logs/" }, @@ -937,6 +1550,18 @@ "label": "EC2 Infra Metrics", "tags": ["AWS"], "module": "metrics", + "relatedSearchKeywords": [ + "ec2 infrastructure metrics", + "monitor aws ec2", + "ec2 system metrics", + "collect ec2 cpu memory", + "ec2 performance monitoring", + "opentelemetry ec2 metrics", + "ec2 telemetry", + "aws vm monitoring", + "ec2 metrics to signoz", + "aws infrastructure observability" + ], "imgUrl": "/Logos/ec2.svg", "link": "https://signoz.io/docs/aws-monitoring/ec2-infra-metrics/" }, @@ -945,6 +1570,18 @@ "label": "ECS EC2", "tags": ["AWS"], "module": "metrics", + "relatedSearchKeywords": [ + "ecs ec2 monitoring", + "ecs ec2 logs and metrics", + "aws ecs ec2 observability", + "ecs ec2 opentelemetry", + "monitor ecs tasks on ec2", + "ecs instance metrics", + "ecs telemetry ec2", + "collect ecs ec2 logs", + "ecs ec2 to signoz", + "aws container service ec2" + ], "imgUrl": "/Logos/ecs.svg", "link": "https://signoz.io/docs/userguide/collecting-ecs-logs-and-metrics/" }, @@ -953,6 +1590,18 @@ "label": "ECS External", "tags": ["AWS"], "module": "metrics", + "relatedSearchKeywords": [ + "ecs external monitoring", + "external ecs observability", + "ecs external logs metrics", + "opentelemetry ecs external", + "monitor ecs external workloads", + "ecs external tasks", + "ecs telemetry external", + "ecs external node integration", + "ecs external to signoz", + "aws ecs external setup" + ], "imgUrl": "/Logos/ecs.svg", "link": "https://signoz.io/docs/userguide/collecting-ecs-logs-and-metrics/" }, @@ -961,6 +1610,18 @@ "label": "ECS Fargate", "tags": ["AWS"], "module": "metrics", + "relatedSearchKeywords": [ + "ecs fargate monitoring", + "fargate logs and metrics", + "ecs fargate observability", + "opentelemetry fargate", + "collect logs from fargate", + "monitor fargate containers", + "ecs fargate integration", + "fargate telemetry", + "aws fargate tracing", + "fargate to signoz" + ], "imgUrl": "/Logos/ecs.svg", "link": "https://signoz.io/docs/userguide/collecting-ecs-sidecar-infra/" }, @@ -969,6 +1630,18 @@ "label": "EKS", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "eks logs", + "aws eks logs", + "eks log monitoring", + "eks observability", + "eks log collection", + "eks with opentelemetry", + "collect eks pod logs", + "eks logging setup", + "eks cloudwatch logs", + "eks logs to signoz" + ], "imgUrl": "/Logos/eks.svg", "link": "https://signoz.io/docs/aws-monitoring/eks/" }, @@ -977,6 +1650,18 @@ "label": "ELB Logs", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "elb logs", + "aws elb logs", + "elb access logs", + "elb log monitoring", + "elb observability", + "collect elb logs", + "elb logs opentelemetry", + "otel elb logs", + "elb request tracing", + "elb logs to signoz" + ], "imgUrl": "/Logos/elb.svg", "link": "https://signoz.io/docs/aws-monitoring/elb-logs/" }, @@ -985,6 +1670,18 @@ "label": "VPC Logs", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "vpc flow logs", + "aws vpc logs", + "vpc network traffic logs", + "vpc log monitoring", + "vpc logs opentelemetry", + "otel vpc logs", + "vpc flow logs analysis", + "vpc flow log observability", + "collect vpc logs", + "vpc logs to signoz" + ], "imgUrl": "/Logos/vpc.svg", "link": "https://signoz.io/docs/aws-monitoring/vpc-logs/" }, @@ -993,6 +1690,18 @@ "label": "RDS Logs", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "rds logs", + "aws rds logs", + "rds slow query logs", + "rds performance monitoring", + "rds observability", + "rds log monitoring otel", + "rds postgres logs", + "rds mysql logs", + "collect rds logs", + "rds logs to signoz" + ], "imgUrl": "/Logos/rds.svg", "link": "https://signoz.io/docs/aws-monitoring/rds-logs/" }, @@ -1001,6 +1710,18 @@ "label": "Lambda Logs", "tags": ["AWS", "logs"], "module": "logs", + "relatedSearchKeywords": [ + "aws lambda logs", + "lambda observability", + "lambda monitoring otel", + "lambda metrics collection", + "opentelemetry aws lambda", + "collect lambda telemetry", + "serverless monitoring", + "lambda tracing", + "aws lambda insights", + "lambda to signoz" + ], "imgUrl": "/Logos/lambda.svg", "link": "https://signoz.io/docs/aws-monitoring/lambda-logs/" }, @@ -1009,6 +1730,18 @@ "label": "Azure VM", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "azure vm metrics", + "azure vm logs", + "monitor azure vm", + "azure vm observability", + "otel azure vm", + "collect logs azure vm", + "azure virtual machine telemetry", + "azure infrastructure monitoring", + "azure vm performance", + "azure vm to signoz" + ], "imgUrl": "/Logos/azure-vm.svg", "link": "https://signoz.io/docs/azure-monitoring/virtual-machines/vm-metrics/" }, @@ -1018,6 +1751,18 @@ "imgUrl": "/Logos/azure-vm.svg", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "azure app service logs", + "monitor azure app service", + "app service observability", + "app service tracing", + "otel azure app service", + "collect app service metrics", + "azure web app monitoring", + "app service telemetry", + "azure app logs", + "app service to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1048,6 +1793,18 @@ "label": "Azure Kubernetes Service", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "aks logs", + "azure kubernetes service", + "aks observability", + "monitor aks cluster", + "aks metrics collection", + "aks opentelemetry integration", + "azure k8s monitoring", + "aks telemetry", + "collect logs from aks", + "aks to signoz" + ], "imgUrl": "/Logos/azure-app-service.svg", "link": "https://signoz.io/docs/azure-monitoring/aks/" }, @@ -1057,6 +1814,18 @@ "imgUrl": "/Logos/azure-container-apps.svg", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "azure container apps logs", + "container apps observability", + "monitor azure container apps", + "opentelemetry container apps", + "container apps metrics", + "container apps tracing", + "otel azure container apps", + "azure microservice monitoring", + "container apps telemetry", + "azure container apps to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1088,6 +1857,18 @@ "imgUrl": "/Logos/azure-functions.svg", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "azure functions logs", + "monitor azure functions", + "azure functions observability", + "azure serverless logs", + "azure functions telemetry", + "azure functions tracing", + "opentelemetry azure functions", + "otel azure functions", + "collect logs azure functions", + "azure functions to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1118,6 +1899,18 @@ "label": "Azure SQL Database Metrics", "tags": ["Azure"], "module": "metrics", + "relatedSearchKeywords": [ + "azure sql database metrics", + "monitor azure sql", + "azure sql observability", + "opentelemetry sql metrics", + "sql telemetry azure", + "database performance azure", + "collect sql metrics azure", + "azure sql insights", + "azure db monitoring", + "sql metrics to signoz" + ], "imgUrl": "/Logos/azure-sql-database-metrics.svg", "link": "https://signoz.io/docs/azure-monitoring/db-metrics/" }, @@ -1127,6 +1920,18 @@ "imgUrl": "/Logos/azure-blob-storage.svg", "tags": ["Azure"], "module": "apm", + "relatedSearchKeywords": [ + "azure blob storage logs", + "blob storage monitoring", + "blob storage observability", + "azure blob metrics", + "opentelemetry azure blob", + "otel blob storage", + "monitor azure storage", + "blob storage telemetry", + "azure blob access logs", + "blob storage to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1158,6 +1963,18 @@ "imgUrl": "/Logos/gcp-cloud-functions.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "cloud functions logs", + "google cloud functions logs", + "gcp cloud functions monitoring", + "serverless functions observability", + "cloud functions tracing", + "otel cloud functions", + "opentelemetry gcp functions", + "cloud functions metrics", + "cloud functions log export", + "cloud functions to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1195,6 +2012,18 @@ "imgUrl": "/Logos/gcp-app-engine.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "app engine logs", + "gcp app engine observability", + "google app engine monitoring", + "app engine tracing", + "otel app engine", + "app engine log exporter", + "app engine telemetry", + "collect app engine logs", + "app engine opentelemetry integration", + "app engine to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1226,6 +2055,18 @@ "imgUrl": "/Logos/gcp-compute-engine.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "compute engine logs", + "gcp compute engine monitoring", + "compute engine observability", + "google vm logs", + "otel compute engine", + "collect compute engine logs", + "compute engine tracing", + "compute engine metrics", + "compute engine logging setup", + "compute engine to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1257,6 +2098,18 @@ "imgUrl": "/Logos/gcp-cloud-storage.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gcp cloud storage logs", + "monitor cloud storage", + "gcs observability", + "google cloud storage telemetry", + "gcs logging opentelemetry", + "cloud storage metrics gcp", + "gcs bucket monitoring", + "gcs access logs", + "gcs to signoz", + "gcs performance metrics" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1282,6 +2135,18 @@ "imgUrl": "/Logos/gcp-cloud-sql.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gcp cloud sql logs", + "monitor cloud sql", + "cloud sql observability", + "cloud sql metrics gcp", + "otel cloud sql", + "opentelemetry cloud sql", + "collect sql logs gcp", + "cloud sql monitoring setup", + "gcp database logs", + "cloud sql to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1307,6 +2172,18 @@ "imgUrl": "/Logos/gcp-cloud-load-balancer.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gcp cloud load balancer logs", + "monitor gcp clb", + "cloud load balancer telemetry", + "clb observability", + "gcp clb metrics", + "otel cloud load balancer", + "clb tracing gcp", + "clb logs collection", + "load balancer monitoring gcp", + "clb to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1332,6 +2209,18 @@ "imgUrl": "/Logos/gcp-vpc.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gcp vpc logs", + "vpc flow logs gcp", + "vpc monitoring gcp", + "opentelemetry vpc logs", + "vpc observability", + "gcp network telemetry", + "gcp vpc metrics", + "collect vpc flow logs", + "vpc to signoz", + "gcp vpc tracing" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1357,6 +2246,18 @@ "imgUrl": "/Logos/gcp-gke.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gke logs", + "gke monitoring", + "google kubernetes engine logs", + "gke observability", + "gke metrics collection", + "gke tracing opentelemetry", + "otel gke integration", + "gke log shipping", + "gke workload monitoring", + "gke to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1388,6 +2289,18 @@ "imgUrl": "/Logos/gcp-cloud-run.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "cloud run logs", + "google cloud run logs", + "cloud run observability", + "cloud run tracing", + "opentelemetry cloud run", + "otel cloud run", + "cloud run log monitoring", + "cloud run metrics", + "serverless gcp logs", + "cloud run to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1419,6 +2332,18 @@ "imgUrl": "/Logos/gcp-cloud-monitoring.svg", "tags": ["GCP"], "module": "apm", + "relatedSearchKeywords": [ + "gcp cloud monitoring metrics", + "google cloud monitoring integration", + "cloud monitoring opentelemetry", + "otel cloud monitoring", + "gcp metrics collection", + "cloud monitoring exporter", + "gcp observability", + "cloud monitoring telemetry", + "gcp metrics dashboard", + "cloud monitoring to signoz" + ], "question": { "desc": "What telemetry data do you want to visualise ?", "type": "select", @@ -1438,6 +2363,18 @@ "imgUrl": "/Logos/llm-monitoring.svg", "tags": ["LLM Monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "llm monitoring", + "large language model observability", + "monitor openai", + "llm response time tracing", + "llm latency metrics", + "openai telemetry", + "llm inference monitoring", + "otel llm integration", + "llm performance tracking", + "llm monitoring with signoz" + ], "link": "https://signoz.io/docs/community/llm-monitoring/" }, { @@ -1446,6 +2383,18 @@ "imgUrl": "/Logos/android-java-monitoring.svg", "tags": ["mobile app monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "android java monitoring", + "android logs", + "android app tracing", + "android performance monitoring", + "opentelemetry android java", + "otel android sdk", + "android observability", + "monitor android apps", + "android java instrumentation", + "android java to signoz" + ], "link": "https://signoz.io/docs/instrumentation/mobile-instrumentation/opentelemetry-java/" }, { @@ -1454,6 +2403,18 @@ "imgUrl": "/Logos/android-kotlin-monitoring.svg", "tags": ["mobile app monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "android kotlin monitoring", + "kotlin mobile tracing", + "kotlin app logs", + "android app performance kotlin", + "opentelemetry android kotlin", + "otel kotlin sdk", + "android observability kotlin", + "monitor kotlin apps", + "android telemetry sdk", + "android kotlin to signoz" + ], "link": "https://signoz.io/docs/instrumentation/mobile-instrumentation/opentelemetry-kotlin/" }, { @@ -1462,6 +2423,18 @@ "imgUrl": "/Logos/flutter-monitoring.svg", "tags": ["mobile app monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "flutter monitoring", + "flutter app performance", + "flutter logs", + "flutter app tracing", + "flutter observability", + "opentelemetry flutter", + "otel flutter sdk", + "flutter mobile monitoring", + "flutter performance metrics", + "flutter to signoz" + ], "link": "https://signoz.io/docs/instrumentation/mobile-instrumentation/opentelemetry-flutter/" }, { @@ -1470,6 +2443,18 @@ "imgUrl": "/Logos/swift-monitoring.svg", "tags": ["mobile app monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "ios swift monitoring", + "swiftui tracing", + "ios performance tracking", + "opentelemetry swiftui", + "otel swift sdk", + "ios app observability", + "monitor ios apps", + "swift app tracing", + "ios logs and metrics", + "swift to signoz" + ], "link": "https://signoz.io/docs/instrumentation/mobile-instrumentation/opentelemetry-swiftui/" }, { @@ -1478,6 +2463,18 @@ "imgUrl": "/Logos/llm-monitoring.svg", "tags": ["Frontend Monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "web vitals monitoring", + "frontend performance metrics", + "core web vitals", + "opentelemetry web vitals", + "user experience metrics", + "lcp fcp fid cls", + "frontend observability", + "browser performance tracing", + "web vitals to signoz", + "measure page load performance" + ], "link": "https://signoz.io/docs/frontend-monitoring/opentelemetry-web-vitals/" }, { @@ -1486,6 +2483,18 @@ "imgUrl": "/Logos/document-load.svg", "tags": ["Frontend Monitoring"], "module": "apm", + "relatedSearchKeywords": [ + "document load time", + "frontend load monitoring", + "measure page load", + "browser load performance", + "dom content loaded metrics", + "opentelemetry page load", + "otel document load time", + "frontend telemetry", + "document load trace", + "document load to signoz" + ], "link": "https://signoz.io/docs/frontend-monitoring/document-load/" } ] diff --git a/frontend/src/periscope.scss b/frontend/src/periscope.scss index 075e73730b..e827e3a2a6 100644 --- a/frontend/src/periscope.scss +++ b/frontend/src/periscope.scss @@ -45,6 +45,13 @@ font-size: 11px; font-weight: 400; } + + &.success { + color: var(--bg-forest-400) !important; + border-radius: 2px; + border: 1px solid rgba(37, 225, 146, 0.1); + background: rgba(37, 225, 146, 0.1) !important; + } } .periscope-tab {