├── CHANGELOG.md ├── frontend ├── .nvmrc ├── __mocks__ │ └── cssMock.ts ├── .npmrc ├── .dockerignore ├── .yarnrc ├── src │ ├── components │ │ ├── Logs │ │ │ ├── RawLogView │ │ │ │ ├── RawLogView.styles.scss │ │ │ │ └── config.ts │ │ │ ├── ListLogView │ │ │ │ └── util.ts │ │ │ ├── styles.ts │ │ │ ├── CategoryHeading │ │ │ │ └── styles.ts │ │ │ └── AddToQueryHOC.styles.scss │ │ ├── Graph │ │ │ ├── Plugin │ │ │ │ └── index.ts │ │ │ └── helpers.ts │ │ ├── QuickFilters │ │ │ └── FilterRenderers │ │ │ │ └── Slider │ │ │ │ └── Slider.styles.scss │ │ ├── TextToolTip │ │ │ ├── constant.ts │ │ │ ├── TextToolTip.style.scss │ │ │ └── index.tsx │ │ ├── Uplot │ │ │ └── index.ts │ │ ├── NotFound │ │ │ └── constant.ts │ │ ├── ResizeTable │ │ │ ├── config.ts │ │ │ ├── index.ts │ │ │ └── contants.ts │ │ ├── TypicalOverlayScrollbar │ │ │ └── typicalOverlayScrollbar.scss │ │ ├── TabsAndFilters │ │ │ ├── Tabs │ │ │ │ └── Tabs.styles.scss │ │ │ └── constants.ts │ │ ├── CustomTimePicker │ │ │ └── RangePickerModal.styles.scss │ │ ├── ReleaseNote │ │ │ └── ReleaseNoteProps.ts │ │ ├── TabLabel │ │ │ └── TabLabel.interfaces.ts │ │ ├── VirtuosoOverlayScrollbar │ │ │ └── virtuosoOverlayScrollbar.scss │ │ ├── ClientSideQBSearch │ │ │ └── ClientSideQBSearch.styles.scss │ │ ├── TableRenderer │ │ │ ├── TableRenderer.types.ts │ │ │ └── LabelColumn.styles.scss │ │ ├── Styled │ │ │ └── types.ts │ │ ├── MessageTip │ │ │ └── styles.ts │ │ ├── DropDown │ │ │ └── DropDown.styles.scss │ │ ├── TimePreferenceDropDown │ │ │ ├── config.tsx │ │ │ └── styles.ts │ │ ├── LogDetail │ │ │ └── QueryBuilderSearchWrapper.styles.scss │ │ ├── AlertDetailsFilters │ │ │ └── Filters.tsx │ │ └── LaunchChatSupport │ │ │ └── util.ts │ ├── container │ │ ├── TimeSeriesView │ │ │ ├── TimeSeriesView.styles.scss │ │ │ └── styles.ts │ │ ├── OnboardingQuestionaire │ │ │ ├── OrgQuestions │ │ │ │ └── OrgQuestions.styles.scss │ │ │ ├── OnboardingFooter │ │ │ │ └── index.ts │ │ │ └── OnboardingHeader │ │ │ │ └── index.ts │ │ ├── LogsTable │ │ │ └── logsTable.styles.scss │ │ ├── QueryTable │ │ │ ├── index.ts │ │ │ ├── config.ts │ │ │ └── QueryTable.styles.scss │ │ ├── Trace │ │ │ ├── Search │ │ │ │ └── config.ts │ │ │ ├── Filters │ │ │ │ └── Panel │ │ │ │ │ └── PanelBody │ │ │ │ │ └── styles.ts │ │ │ └── TraceGraphFilter │ │ │ │ └── styles.ts │ │ ├── AlertHistory │ │ │ ├── constants.ts │ │ │ ├── index.tsx │ │ │ ├── AlertHistory.styles.scss │ │ │ ├── Timeline │ │ │ │ ├── constants.ts │ │ │ │ └── Table │ │ │ │ │ └── types.ts │ │ │ ├── Statistics │ │ │ │ ├── TopContributorsCard │ │ │ │ │ └── types.ts │ │ │ │ └── Statistics.styles.scss │ │ │ └── types.ts │ │ ├── ErrorDetails │ │ │ ├── styles.scss │ │ │ └── config.ts │ │ ├── QueryBuilder │ │ │ ├── components │ │ │ │ ├── Query │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Query.styles.scss │ │ │ │ ├── Formula │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Formula.styles.scss │ │ │ │ ├── ListMarker │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ListMarker.interfaces.ts │ │ │ │ ├── FilterLabel │ │ │ │ │ ├── index.ts │ │ │ │ │ └── FilterLabel.interfaces.ts │ │ │ │ ├── HavingFilterTag │ │ │ │ │ └── index.ts │ │ │ │ ├── ListItemWrapper │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ListItemWrapper.interfaces.ts │ │ │ │ ├── DataSourceDropdown │ │ │ │ │ ├── index.ts │ │ │ │ │ └── DataSourceDropdown.interfaces.ts │ │ │ │ ├── AdditionalFiltersToggler │ │ │ │ │ ├── index.ts │ │ │ │ │ └── AdditionalFiltersToggler.interfaces.ts │ │ │ │ └── QueryFunctions │ │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ └── filters │ │ │ │ ├── HavingFilter │ │ │ │ ├── index.ts │ │ │ │ └── HavingFilter.interfaces.ts │ │ │ │ ├── GroupByFilter │ │ │ │ └── index.ts │ │ │ │ ├── OrderByFilter │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ └── config.ts │ │ │ │ ├── ReduceToFilter │ │ │ │ └── index.ts │ │ │ │ ├── AggregatorFilter │ │ │ │ └── index.ts │ │ │ │ ├── BuilderUnitsFilter │ │ │ │ ├── index.ts │ │ │ │ ├── types.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── styles.ts │ │ │ │ └── config.ts │ │ │ │ ├── OperatorsSelect │ │ │ │ ├── index.ts │ │ │ │ └── OperatorsSelect.interfaces.ts │ │ │ │ ├── QueryBuilderSearch │ │ │ │ ├── config.ts │ │ │ │ └── constant.ts │ │ │ │ └── Formula │ │ │ │ └── Limit │ │ │ │ └── types.ts │ │ ├── SideNav │ │ │ ├── index.ts │ │ │ └── helper.ts │ │ ├── MetricsApplication │ │ │ ├── Tabs │ │ │ │ └── Overview │ │ │ │ │ ├── config.ts │ │ │ │ │ └── ApDex │ │ │ │ │ └── constants.ts │ │ │ └── TopOperationsTable.styles.scss │ │ ├── Timeline │ │ │ └── types.ts │ │ ├── Version │ │ │ ├── constant.ts │ │ │ └── styles.ts │ │ ├── Download │ │ │ ├── Download.styles.scss │ │ │ └── Download.types.ts │ │ ├── PanelWrapper │ │ │ └── UplotPanelWrapper.styles.scss │ │ ├── LogDetailedView │ │ │ ├── LogContext.styles.scss │ │ │ ├── constant.ts │ │ │ └── BodyTitleRenderer.styles.ts │ │ ├── LogsExplorerViews │ │ │ ├── QueryStatus.styles.scss │ │ │ └── LogsExplorerViews.styled.ts │ │ ├── ExplorerOptions │ │ │ └── constants.ts │ │ ├── ListOfDashboard │ │ │ ├── index.tsx │ │ │ └── TableComponents │ │ │ │ ├── styles.ts │ │ │ │ └── DeleteButton.styles.scss │ │ ├── OnboardingContainer │ │ │ ├── typings.d.ts │ │ │ ├── index.tsx │ │ │ └── Modules │ │ │ │ ├── APM │ │ │ │ ├── Rust │ │ │ │ │ └── md-docs │ │ │ │ │ │ ├── Windows │ │ │ │ │ │ └── Recommended │ │ │ │ │ │ │ └── rust-windows-recommended-runApplication.md │ │ │ │ │ │ ├── LinuxAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── rust-linuxamd64-quickStart-runApplication.md │ │ │ │ │ │ ├── LinuxARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── rust-linuxarm64-quickStart-runApplication.md │ │ │ │ │ │ ├── MacOsAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── rust-macosamd64-quickStart-runApplication.md │ │ │ │ │ │ ├── MacOsARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── rust-macosarm64-quickStart-runApplication.md │ │ │ │ │ │ └── Kubernetes │ │ │ │ │ │ └── rust-kubernetes-runApplication.md │ │ │ │ ├── Javascript │ │ │ │ │ └── md-docs │ │ │ │ │ │ ├── Express │ │ │ │ │ │ └── Windows │ │ │ │ │ │ │ └── Recommended │ │ │ │ │ │ │ └── express-windows-recommended-runApplication.md │ │ │ │ │ │ └── Angular │ │ │ │ │ │ ├── Windows │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── angular-windows-quickStart-runApplication.md │ │ │ │ │ │ ├── LinuxAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── angular-linuxamd64-quickStart-runApplication.md │ │ │ │ │ │ ├── LinuxARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── angular-linuxarm64-quickStart-runApplication.md │ │ │ │ │ │ ├── MacOsAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── angular-macosamd64-quickStart-runApplication.md │ │ │ │ │ │ ├── MacOsARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── angular-macosarm64-quickStart-runApplication.md │ │ │ │ │ │ └── Kubernetes │ │ │ │ │ │ └── angular-kubernetes-runApplication.md │ │ │ │ ├── Swift │ │ │ │ │ └── md-docs │ │ │ │ │ │ ├── Kubernetes │ │ │ │ │ │ └── swift-kubernetes-runApplication.md │ │ │ │ │ │ ├── Windows │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── swift-windows-quickStart-runApplication.md │ │ │ │ │ │ ├── LinuxAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── swift-linuxamd64-quickStart-runApplication.md │ │ │ │ │ │ ├── LinuxARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── swift-linuxarm64-quickStart-runApplication.md │ │ │ │ │ │ ├── MacOsAMD64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── swift-macosamd64-quickStart-runApplication.md │ │ │ │ │ │ └── MacOsARM64 │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ └── swift-macosarm64-quickStart-runApplication.md │ │ │ │ ├── RubyOnRails │ │ │ │ │ └── md-docs │ │ │ │ │ │ ├── Windows │ │ │ │ │ │ ├── Recommended │ │ │ │ │ │ │ └── ror-windows-recommended-runApplication.md │ │ │ │ │ │ └── QuickStart │ │ │ │ │ │ │ └── ror-windows-quickStart-runApplication.md │ │ │ │ │ │ └── Kubernetes │ │ │ │ │ │ └── ror-kubernetes-runApplication.md │ │ │ │ ├── Java │ │ │ │ │ └── md-docs │ │ │ │ │ │ └── Others │ │ │ │ │ │ └── Windows │ │ │ │ │ │ └── Recommended │ │ │ │ │ │ └── others-windows-recommended-runApplication.md │ │ │ │ ├── GoLang │ │ │ │ │ └── md-docs │ │ │ │ │ │ └── Kubernetes │ │ │ │ │ │ └── golang-kubernetes-runApplication.md │ │ │ │ ├── Php │ │ │ │ │ └── md-docs │ │ │ │ │ │ └── Windows │ │ │ │ │ │ ├── QuickStart │ │ │ │ │ │ └── php-windows-quickStart-runApplication.md │ │ │ │ │ │ └── Recommended │ │ │ │ │ │ └── php-windows-recommended-runApplication.md │ │ │ │ └── Dotnet │ │ │ │ │ └── md-docs │ │ │ │ │ └── Kubernetes │ │ │ │ │ └── dotnet-kubernetes-runApplication.md │ │ │ │ ├── AzureMonitoring │ │ │ │ └── AKS │ │ │ │ │ ├── aks-logs.md │ │ │ │ │ └── aks-metrics.md │ │ │ │ ├── LogsManagement │ │ │ │ ├── Docker │ │ │ │ │ └── md-docs │ │ │ │ │ │ └── docker-startContainers.md │ │ │ │ └── SysLogs │ │ │ │ │ └── md-docs │ │ │ │ │ ├── LinuxAMD64 │ │ │ │ │ └── syslogs-linuxamd64-checkServiceStatus.md │ │ │ │ │ ├── LinuxARM64 │ │ │ │ │ └── syslogs-linuxarm64-checkServiceStatus.md │ │ │ │ │ ├── MacOsAMD64 │ │ │ │ │ └── syslogs-macosamd64-checkServiceStatus.md │ │ │ │ │ └── MacOsARM64 │ │ │ │ │ └── syslogs-macosarm64-checkServiceStatus.md │ │ │ │ └── InfrastructureMonitoring │ │ │ │ └── KubernetesInfraMetrics │ │ │ │ └── md-docs │ │ │ │ └── kubernetes-plotMetrics.md │ │ ├── TopNav │ │ │ ├── DateTimeSelection │ │ │ │ └── DateTimeSelection.styles.scss │ │ │ ├── styles.ts │ │ │ ├── AutoRefresh │ │ │ │ └── styles.ts │ │ │ └── AutoRefreshV2 │ │ │ │ └── styles.ts │ │ ├── FormAlertRules │ │ │ ├── ChQuerySection │ │ │ │ └── index.ts │ │ │ ├── RuleOptions.styles.scss │ │ │ ├── ChannelSelect │ │ │ │ └── styles.ts │ │ │ └── labels │ │ │ │ └── types.ts │ │ ├── PipelinePage │ │ │ ├── Layouts │ │ │ │ ├── config.ts │ │ │ │ ├── utils.ts │ │ │ │ └── ChangeHistory │ │ │ │ │ └── DeploymentTime.tsx │ │ │ ├── PipelineListsView │ │ │ │ ├── index.tsx │ │ │ │ ├── AddNewPipeline │ │ │ │ │ ├── FormFields │ │ │ │ │ │ └── FilterInput │ │ │ │ │ │ │ └── styles.scss │ │ │ │ │ ├── styles.ts │ │ │ │ │ └── utils.tsx │ │ │ │ ├── Preview │ │ │ │ │ ├── PipelineProcessingPreview │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── PipelineSimulationResult │ │ │ │ │ │ │ └── styles.scss │ │ │ │ │ └── components │ │ │ │ │ │ ├── PreviewIntervalSelector │ │ │ │ │ │ ├── styles.scss │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── LogsCountInInterval │ │ │ │ │ │ │ └── styles.scss │ │ │ │ │ │ └── SampleLogs │ │ │ │ │ │ └── styles.scss │ │ │ │ └── TableComponents │ │ │ │ │ └── PipelineFilterSummary │ │ │ │ │ └── styles.scss │ │ │ ├── components │ │ │ │ └── styles.ts │ │ │ ├── config.ts │ │ │ └── tests │ │ │ │ └── __snapshots__ │ │ │ │ ├── AddNewPipeline.test.tsx.snap │ │ │ │ └── AddNewProcessor.test.tsx.snap │ │ ├── ResourceAttributesFilter │ │ │ ├── components │ │ │ │ └── QueryChip │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ └── index.ts │ │ ├── GeneralSettingsCloud │ │ │ ├── index.tsx │ │ │ └── GeneralSettingsCloud.styles.scss │ │ ├── PageSizeSelect │ │ │ └── PageSizeSelect.interfaces.ts │ │ ├── GridTableComponent │ │ │ ├── GridTableComponent.styles.scss │ │ │ └── config.ts │ │ ├── LiveLogs │ │ │ ├── LiveLogsList │ │ │ │ └── types.ts │ │ │ ├── LiveLogsListChart │ │ │ │ └── types.ts │ │ │ ├── types.ts │ │ │ └── ListViewPanel │ │ │ │ └── styles.ts │ │ ├── MySettings │ │ │ ├── UserInfo │ │ │ │ └── UserInfo.styles.scss │ │ │ ├── MySettings.styles.scss │ │ │ └── styles.ts │ │ ├── AnomalyAlertEvaluationView │ │ │ └── index.tsx │ │ ├── ExplorerControlPanel │ │ │ ├── styles.ts │ │ │ └── ExplorerControlPanel.interfaces.ts │ │ ├── GantChart │ │ │ ├── Trace │ │ │ │ └── utils.ts │ │ │ └── GantChart.styles.scss │ │ ├── GridValueComponent │ │ │ ├── config.ts │ │ │ └── types.ts │ │ ├── Controls │ │ │ ├── styles.ts │ │ │ └── config.ts │ │ ├── NewDashboard │ │ │ ├── DashboardSettings │ │ │ │ ├── General │ │ │ │ │ └── Description │ │ │ │ │ │ └── styles.ts │ │ │ │ └── Variables │ │ │ │ │ ├── types.ts │ │ │ │ │ └── VariableItem │ │ │ │ │ └── styles.ts │ │ │ └── DashboardVariablesSelection │ │ │ │ └── index.tsx │ │ ├── ConfigDropdown │ │ │ └── styles.ts │ │ ├── LocalTopNav │ │ │ ├── types.ts │ │ │ └── styles.ts │ │ ├── ServiceTable │ │ │ ├── types.ts │ │ │ └── styles.ts │ │ ├── CreateAlertChannels │ │ │ └── utils.ts │ │ ├── NewWidget │ │ │ ├── LeftContainer │ │ │ │ ├── styles.ts │ │ │ │ └── QuerySection │ │ │ │ │ └── QueryBuilder │ │ │ │ │ ├── QueryHeader.styles.scss │ │ │ │ │ └── promQL │ │ │ │ │ └── types.ts │ │ │ └── RightContainer │ │ │ │ └── Threshold │ │ │ │ └── ShowCaseValue.styles.scss │ │ ├── LogsExplorerList │ │ │ ├── styles.ts │ │ │ ├── LogsExplorerList.style.scss │ │ │ └── InfinityTableView │ │ │ │ └── types.ts │ │ ├── LogsIndexToFields │ │ │ └── index.tsx │ │ ├── GridCardLayout │ │ │ ├── EmptyWidget │ │ │ │ └── styles.ts │ │ │ ├── utils.ts │ │ │ └── GridCard │ │ │ │ └── __mock__ │ │ │ │ └── mockLegendEntryData.ts │ │ ├── TraceDetail │ │ │ └── SelectedSpanDetails │ │ │ │ └── Tags │ │ │ │ └── styles.ts │ │ ├── FormAlertChannels │ │ │ └── styles.ts │ │ ├── LogsExplorerTable │ │ │ └── LogsExplorerTable.interfaces.ts │ │ ├── CreateAlertRule │ │ │ └── SelectAlertType │ │ │ │ └── types.ts │ │ ├── LogsExplorerContext │ │ │ └── types.ts │ │ ├── LogsFilters │ │ │ └── config.ts │ │ ├── TracesExplorer │ │ │ ├── Controls │ │ │ │ └── styles.ts │ │ │ ├── TracesView │ │ │ │ └── styles.ts │ │ │ ├── ListView │ │ │ │ └── configs.tsx │ │ │ └── QuerySection │ │ │ │ └── styles.ts │ │ ├── EditRules │ │ │ └── styles.ts │ │ ├── OrganizationSettings │ │ │ └── PendingInvitesContainer │ │ │ │ └── styles.tsx │ │ ├── DownloadV2 │ │ │ └── DownloadV2.types.ts │ │ ├── AppLayout │ │ │ └── utils.ts │ │ ├── LogsAggregate │ │ │ └── styles.ts │ │ ├── AllError │ │ │ ├── constant.ts │ │ │ └── types.ts │ │ ├── LogsExplorerChart │ │ │ └── LogsExplorerChart.interfaces.ts │ │ ├── LogsSearchFilter │ │ │ └── styles.ts │ │ ├── ServiceApplication │ │ │ └── styles.ts │ │ └── LogControls │ │ │ └── styles.ts │ ├── hooks │ │ ├── logs │ │ │ └── configs.ts │ │ ├── queryPagination │ │ │ ├── index.ts │ │ │ ├── config.ts │ │ │ └── types.ts │ │ ├── useDarkMode │ │ │ └── constant.ts │ │ ├── useScrollToTop │ │ │ └── types.ts │ │ ├── useResourceAttribute │ │ │ ├── config.ts │ │ │ ├── context.ts │ │ │ ├── index.ts │ │ │ └── useResourceAttribute.tsx │ │ ├── useFeatureFlag │ │ │ ├── utils.ts │ │ │ └── index.ts │ │ ├── useLicense │ │ │ ├── constant.ts │ │ │ └── index.ts │ │ ├── useDragColumns │ │ │ ├── configs.ts │ │ │ └── types.ts │ │ ├── usePreviousValue.ts │ │ ├── useUrlQuery.ts │ │ └── queryBuilder │ │ │ └── useQueryBuilder.ts │ ├── store │ │ └── actions │ │ │ ├── metrics │ │ │ └── index.ts │ │ │ └── index.ts │ ├── utils │ │ ├── token.ts │ │ ├── getEventEmitter.ts │ │ ├── form │ │ │ └── requireErrorMessage.ts │ │ ├── transformToUpperCase.ts │ │ ├── getFormatedLegend.ts │ │ ├── selectPopupContainer.ts │ │ ├── toFixed.ts │ │ └── services.ts │ ├── constants │ │ ├── onboarding.ts │ │ ├── queryBuilderFilterConfig.ts │ │ ├── card.ts │ │ ├── sessionStorage.ts │ │ ├── optionsFormatTypes.ts │ │ ├── api.ts │ │ ├── liveTail.ts │ │ ├── events.ts │ │ ├── regExp.ts │ │ └── env.ts │ ├── typings │ │ ├── chartjs-adapter-date-fns.d.ts │ │ ├── window.ts │ │ └── environment.ts │ ├── types │ │ ├── api │ │ │ ├── pipeline │ │ │ │ ├── get.ts │ │ │ │ └── post.ts │ │ │ ├── settings │ │ │ │ ├── common.ts │ │ │ │ └── setRetention.ts │ │ │ ├── logs │ │ │ │ ├── liveTail.ts │ │ │ │ ├── getSearchFields.ts │ │ │ │ ├── logAggregate.ts │ │ │ │ ├── addToSelectedFields.ts │ │ │ │ ├── removeSelectedField.ts │ │ │ │ ├── getLogs.ts │ │ │ │ └── getLogsAggregate.ts │ │ │ ├── userFeedback │ │ │ │ └── sendResponse.ts │ │ │ ├── alerts │ │ │ │ ├── getAll.ts │ │ │ │ ├── ruleStats.ts │ │ │ │ ├── topContributors.ts │ │ │ │ ├── timelineGraph.ts │ │ │ │ ├── delete.ts │ │ │ │ ├── create.ts │ │ │ │ ├── save.ts │ │ │ │ ├── testAlert.ts │ │ │ │ ├── patch.ts │ │ │ │ ├── alertTypes.ts │ │ │ │ └── timelineTable.ts │ │ │ ├── user │ │ │ │ ├── getVersion.ts │ │ │ │ ├── getUserPreference.ts │ │ │ │ ├── resetPassword.ts │ │ │ │ ├── signup.ts │ │ │ │ ├── setUserPreference.ts │ │ │ │ ├── deleteInvite.ts │ │ │ │ ├── deleteUser.ts │ │ │ │ ├── editOrg.ts │ │ │ │ ├── updateRole.ts │ │ │ │ ├── getOrganization.ts │ │ │ │ ├── getResetPasswordToken.ts │ │ │ │ ├── loginPrecheck.ts │ │ │ │ ├── changeMyPassword.ts │ │ │ │ ├── editUser.ts │ │ │ │ ├── setFlags.ts │ │ │ │ ├── getUserRole.ts │ │ │ │ ├── setInvite.ts │ │ │ │ ├── login.ts │ │ │ │ └── getPendingInvites.ts │ │ │ ├── disks │ │ │ │ └── getDisks.ts │ │ │ ├── metrics │ │ │ │ ├── getMetricName.ts │ │ │ │ ├── getTopLevelOperations.ts │ │ │ │ ├── getApDex.ts │ │ │ │ └── getTopOperations.ts │ │ │ ├── SAML │ │ │ │ ├── deleteDomain.ts │ │ │ │ ├── updateDomain.ts │ │ │ │ └── postDomain.ts │ │ │ ├── channels │ │ │ │ ├── get.ts │ │ │ │ ├── delete.ts │ │ │ │ ├── createEmail.ts │ │ │ │ ├── createPager.ts │ │ │ │ ├── createSlack.ts │ │ │ │ ├── createMsTeams.ts │ │ │ │ ├── createOpsgenie.ts │ │ │ │ ├── createWebhook.ts │ │ │ │ ├── getAll.ts │ │ │ │ ├── editEmail.ts │ │ │ │ ├── editPager.ts │ │ │ │ ├── editSlack.ts │ │ │ │ ├── editMsTeams.ts │ │ │ │ ├── editOpsgenie.ts │ │ │ │ └── editWebhook.ts │ │ │ ├── dashboard │ │ │ │ ├── get.ts │ │ │ │ ├── delete.ts │ │ │ │ ├── update.ts │ │ │ │ └── create.ts │ │ │ ├── licenses │ │ │ │ ├── def.ts │ │ │ │ ├── apply.ts │ │ │ │ └── getAll.ts │ │ │ ├── events │ │ │ │ └── types.ts │ │ │ ├── billing │ │ │ │ └── checkout.ts │ │ │ ├── queryBuilder │ │ │ │ └── getAggregatorAttribute.ts │ │ │ ├── errors │ │ │ │ ├── getByErrorId.ts │ │ │ │ ├── getNextPrevId.ts │ │ │ │ └── getErrorCounts.ts │ │ │ ├── features │ │ │ │ └── getFeaturesFlags.ts │ │ │ └── dynamicConfigs │ │ │ │ └── getDynamicConfigs.ts │ │ ├── common │ │ │ ├── dashboard.ts │ │ │ └── select.ts │ │ └── roles.ts │ ├── pages │ │ ├── LogsSettings │ │ │ └── types.ts │ │ ├── Support │ │ │ └── index.tsx │ │ ├── Shortcuts │ │ │ └── index.ts │ │ ├── Billing │ │ │ ├── index.tsx │ │ │ ├── BillingPage.styles.scss │ │ │ └── BillingPage.tsx │ │ ├── MetricsApplication │ │ │ ├── constants.ts │ │ │ └── ApDex │ │ │ │ └── __mock__ │ │ │ │ ├── thresholdMockData.ts │ │ │ │ └── axiosResponseMockThresholdData.ts │ │ ├── Logs │ │ │ ├── logs.styles.scss │ │ │ └── styles.ts │ │ ├── AlertDetails │ │ │ ├── index.tsx │ │ │ ├── AlertHeader │ │ │ │ ├── AlertLabels │ │ │ │ │ └── AlertLabels.styles.scss │ │ │ │ └── AlertState │ │ │ │ │ └── AlertState.styles.scss │ │ │ └── types.ts │ │ ├── Integrations │ │ │ └── index.ts │ │ ├── NewDashboard │ │ │ └── index.tsx │ │ ├── OrgOnboarding │ │ │ ├── index.tsx │ │ │ └── OrgOnboarding.tsx │ │ ├── AlertHistory │ │ │ └── index.tsx │ │ ├── LogsModulePage │ │ │ ├── index.tsx │ │ │ └── utils.ts │ │ ├── MessagingQueues │ │ │ ├── index.tsx │ │ │ ├── MQDetailPage │ │ │ │ └── index.tsx │ │ │ └── MQGraph │ │ │ │ └── MQConfigOptions.styles.scss │ │ ├── OnboardingPage │ │ │ ├── index.tsx │ │ │ └── OnboardingPage.styles.scss │ │ ├── WorkspaceLocked │ │ │ └── index.tsx │ │ ├── TracesModulePage │ │ │ └── index.tsx │ │ ├── DashboardsListPage │ │ │ └── index.tsx │ │ ├── IntegrationsModulePage │ │ │ └── index.ts │ │ ├── IntegrationsMarketPlace │ │ │ ├── index.ts │ │ │ └── IntegrationsMarketPlace.tsx │ │ ├── GettingStarted │ │ │ ├── utmParams.ts │ │ │ └── types.ts │ │ ├── Status │ │ │ └── index.tsx │ │ ├── License │ │ │ └── index.tsx │ │ ├── Pipelines │ │ │ └── Pipelines.styles.scss │ │ ├── MySettings │ │ │ └── index.tsx │ │ ├── CreateAlert │ │ │ └── index.tsx │ │ ├── ErrorDetails │ │ │ └── utils.ts │ │ ├── TraceDetail │ │ │ └── constants.ts │ │ ├── TracesExplorer │ │ │ └── styles.ts │ │ ├── EditRules │ │ │ └── constants.ts │ │ ├── ErrorBoundaryFallback │ │ │ └── ErrorBoundaryFallback.styles.scss │ │ └── AllErrors │ │ │ └── config.ts │ ├── periscope │ │ └── components │ │ │ ├── Tabs │ │ │ └── index.tsx │ │ │ ├── Tabs2 │ │ │ └── index.tsx │ │ │ ├── SeeMore │ │ │ └── index.tsx │ │ │ ├── KeyValueLabel │ │ │ └── index.tsx │ │ │ ├── CopyToClipboard │ │ │ └── index.tsx │ │ │ ├── DataStateRenderer │ │ │ └── index.tsx │ │ │ ├── LineClampedText │ │ │ └── LineClampedText.styles.scss │ │ │ └── BetaTag │ │ │ └── BetaTag.tsx │ ├── lib │ │ ├── logql │ │ │ ├── errors │ │ │ │ ├── index.ts │ │ │ │ ├── InvalidQueryPair.ts │ │ │ │ └── ConvertToFullText.ts │ │ │ ├── types.ts │ │ │ └── index.ts │ │ ├── history.ts │ │ ├── toCapitalize.ts │ │ ├── covertIntoEpoc.ts │ │ ├── convertToNanoSecondsToSecond.ts │ │ ├── uPlotLib │ │ │ └── utils │ │ │ │ └── getGridColor.ts │ │ ├── getStartAndEndTime │ │ │ ├── getMicroSeconds.ts │ │ │ └── getMinAgo.ts │ │ ├── createIdFromObjectFields.ts │ │ ├── convertDateToAmAndPm.ts │ │ ├── removeJSONStringifyQuotes.ts │ │ ├── logs │ │ │ └── fieldSearch.ts │ │ ├── createQueryParams.ts │ │ ├── JSXtoHTML.ts │ │ └── convertIntoHr.ts │ ├── modules │ │ ├── Servicemap │ │ │ └── index.tsx │ │ └── Usage │ │ │ ├── index.tsx │ │ │ └── styles.ts │ ├── api │ │ ├── browser │ │ │ └── localstorage │ │ │ │ ├── get.ts │ │ │ │ ├── remove.ts │ │ │ │ └── set.ts │ │ ├── saveView │ │ │ └── deleteView.ts │ │ ├── APIKeys │ │ │ └── getAllAPIKeys.ts │ │ ├── Integrations │ │ │ └── getAllIntegrations.ts │ │ ├── dashboard │ │ │ ├── getAll.ts │ │ │ ├── lockDashboard.ts │ │ │ ├── delete.ts │ │ │ └── unlockDashboard.ts │ │ ├── apiV1.ts │ │ └── metrics │ │ │ └── ApDex │ │ │ └── getApDexSettings.ts │ ├── mocks-server │ │ ├── __mockdata__ │ │ │ └── top_level_operations.ts │ │ └── server.ts │ ├── assets │ │ └── NotFound.tsx │ └── setupProxy.js ├── .gitignore ├── .eslintignore ├── public │ ├── locales │ │ ├── en │ │ │ ├── logs.json │ │ │ ├── traceDetails.json │ │ │ ├── valueGraph.json │ │ │ ├── apiKeys.json │ │ │ ├── services.json │ │ │ ├── settings.json │ │ │ ├── explorer.json │ │ │ ├── trace.json │ │ │ ├── ingestionKeys.json │ │ │ └── onboarding.json │ │ └── en-GB │ │ │ ├── logs.json │ │ │ ├── explorer.json │ │ │ ├── traceDetails.json │ │ │ ├── settings.json │ │ │ ├── ingestionKeys.json │ │ │ ├── services.json │ │ │ ├── errorDetails.json │ │ │ ├── trace.json │ │ │ ├── common.json │ │ │ └── onboarding.json │ ├── favicon.ico │ ├── robots.txt │ ├── Logos │ │ ├── go.png │ │ ├── php.png │ │ ├── dotnet.png │ │ ├── elixir.png │ │ ├── heroku.png │ │ ├── http.png │ │ ├── java.png │ │ ├── python.png │ │ ├── rails.png │ │ ├── rust.png │ │ ├── swift.png │ │ ├── vercel.png │ │ ├── fluentd.png │ │ ├── cloudwatch.png │ │ ├── fluent-bit.png │ │ ├── javascript.png │ │ └── ms-net-framework.png │ ├── Icons │ │ └── loading-plane.gif │ ├── Images │ │ ├── notFound404.png │ │ └── signoz-hero-image.webp │ └── fonts │ │ ├── GeistMonoVF.woff2 │ │ ├── SpaceMono-Regular.ttf │ │ ├── FiraCode-VariableFont_wght.ttf │ │ ├── WorkSans-VariableFont_wght.ttf │ │ └── Inter-VariableFont_opsz,wght.ttf ├── tests │ ├── fixtures │ │ └── api │ │ │ ├── register │ │ │ ├── 200.json │ │ │ └── 401.json │ │ │ ├── organisation │ │ │ └── 201.json │ │ │ ├── dashboard │ │ │ └── getDashboardListEmpty200.json │ │ │ ├── errorDetails │ │ │ └── 404.json │ │ │ ├── traces │ │ │ ├── traceExplorerViewPost200.json │ │ │ ├── attributeKeys200.json │ │ │ ├── attributeKeysServiceName200.json │ │ │ ├── attributeKeysDurationNano200.json │ │ │ └── attributeKeysResponseStatusCode200.json │ │ │ ├── login │ │ │ └── 200.json │ │ │ └── getNextPrev │ │ │ └── 200.json │ ├── service │ │ ├── utils.ts │ │ └── index.spec.ts-snapshots │ │ │ └── Service-Page-Serice-Page-is-rendered-1-Signoz-darwin.png │ ├── signup │ │ └── index.spec.ts-snapshots │ │ │ ├── Sign-Up-Page-Invite-link-validation-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-Empty-Email-with-valid-details-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-Empty-name-with-valid-details-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-User-Sign-up-with-valid-details-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-Empty-Company-name-with-valid-details-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-Empty-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png │ │ │ ├── Sign-Up-Page-Miss-Match-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png │ │ │ └── Sign-Up-Page-When-User-successfull-signup-and-logged-in-he-should-be-redirected-to-dashboard-1-Signoz-darwin.png │ ├── expections │ │ └── index.spec.ts-snapshots │ │ │ ├── Expections-page-Should-have-a-valid-route-1-Signoz-darwin.png │ │ │ ├── Expections-page-Should-have-a-valid-Breadcrumbs-1-Signoz-darwin.png │ │ │ ├── Expections-page-Should-render-data-in-antd-table-1-Signoz-darwin.png │ │ │ ├── Expections-page-Should-render-the-page-with-404-status-1-Signoz-darwin.png │ │ │ └── Expections-page-Should-render-the-page-with-50-26a88--in-antd-notification-with-no-data-antd-table-1-Signoz-darwin.png │ ├── login │ │ ├── index.spec.ts-snapshots │ │ │ └── Login-Page-Version-of-the-application-when-api-returns-200-1-Signoz-darwin.png │ │ └── fail.spec.ts-snapshots │ │ │ └── Version-API-fail-while-loading-login-page-Something-went-wrong-1-Signoz-darwin.png │ └── expectionDetails │ │ └── index.spec.ts-snapshots │ │ ├── Expections-Details-Should-have-not-found-when-api-return-404-1-Signoz-darwin.png │ │ └── Expections-Details-Render-Success-Data-when-200-from-details-page-1-Signoz-darwin.png ├── commitlint.config.ts ├── .prettierignore ├── .husky │ └── pre-commit ├── bundlesize.config.json ├── docker-compose.yml ├── babel.config.js ├── .prettierrc.json ├── example.env ├── sonar-project.properties └── .babelrc ├── deploy ├── docker-swarm │ ├── dashboards │ │ └── .gitkeep │ └── clickhouse-setup │ │ ├── data │ │ ├── signoz │ │ │ └── .gitkeep │ │ ├── alertmanager │ │ │ └── .gitkeep │ │ ├── clickhouse-2 │ │ │ └── .gitkeep │ │ ├── clickhouse-3 │ │ │ └── .gitkeep │ │ ├── clickhouse │ │ │ └── .gitkeep │ │ ├── zookeeper-1 │ │ │ └── .gitkeep │ │ ├── zookeeper-2 │ │ │ └── .gitkeep │ │ └── zookeeper-3 │ │ │ └── .gitkeep │ │ ├── otel-collector-opamp-config.yaml │ │ └── alerts.yml └── docker │ └── clickhouse-setup │ ├── data │ ├── signoz │ │ └── .gitkeep │ ├── alertmanager │ │ └── .gitkeep │ ├── clickhouse-2 │ │ └── .gitkeep │ ├── clickhouse-3 │ │ └── .gitkeep │ ├── clickhouse │ │ └── .gitkeep │ ├── zookeeper-1 │ │ └── .gitkeep │ ├── zookeeper-2 │ │ └── .gitkeep │ └── zookeeper-3 │ │ └── .gitkeep │ ├── otel-collector-opamp-config.yaml │ ├── docker-compose.yaml │ ├── user_scripts │ └── histogramQuantile │ └── alerts.yml ├── .gitattributes ├── pkg ├── query-service │ ├── rules │ │ └── queriers.go │ ├── .dockerignore │ ├── app │ │ ├── integrations │ │ │ ├── Readme.md │ │ │ └── builtin_integrations │ │ │ │ ├── nginx │ │ │ │ └── overview.md │ │ │ │ ├── redis │ │ │ │ └── overview.md │ │ │ │ ├── mongo │ │ │ │ └── overview.md │ │ │ │ ├── postgres │ │ │ │ └── overview.md │ │ │ │ ├── aws_rds_mysql │ │ │ │ └── overview.md │ │ │ │ ├── aws_rds_postgres │ │ │ │ └── overview.md │ │ │ │ └── aws_elasticache │ │ │ │ └── overview.md │ │ ├── opamp │ │ │ ├── signal.go │ │ │ ├── otelconfig │ │ │ │ └── otlpreceiver │ │ │ │ │ └── config.go │ │ │ ├── model │ │ │ │ └── constants.go │ │ │ └── logger.go │ │ └── logparsingpipeline │ │ │ └── agent_feature.go │ ├── cache │ │ └── testdata │ │ │ └── cache.yaml │ ├── config │ │ ├── cache-config.yml │ │ └── alerts.yml │ ├── constants │ │ └── auth.go │ ├── common │ │ └── ctx.go │ ├── utils │ │ ├── pass.go │ │ ├── random.go │ │ └── labels │ │ │ └── interface.go │ ├── agentConf │ │ └── Readme.md │ └── healthcheck │ │ └── handler.go ├── web │ └── testdata │ │ └── index.html ├── http │ ├── server │ │ └── doc.go │ ├── middleware │ │ └── doc.go │ ├── doc.go │ └── render │ │ └── status.go ├── errors │ └── doc.go ├── confmap │ ├── doc.go │ └── config.go ├── registry │ └── doc.go ├── version │ ├── doc.go │ └── version.go ├── config │ └── doc.go └── instrumentation │ └── doc.go ├── ee └── query-service │ ├── .dockerignore │ ├── integrations │ └── gateway │ │ └── noop.go │ ├── anomaly │ └── provider.go │ ├── interfaces │ └── connector.go │ ├── app │ └── api │ │ └── response.go │ └── model │ └── auth.go ├── .dockerignore ├── e2e ├── package.json └── tests │ └── contants.ts └── .github └── workflows └── commitlint.yml /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/.nvmrc: -------------------------------------------------------------------------------- 1 | 16.15.0 -------------------------------------------------------------------------------- /deploy/docker-swarm/dashboards/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.css linguist-detectable=false -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/signoz/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/__mocks__/cssMock.ts: -------------------------------------------------------------------------------- 1 | export default {}; 2 | -------------------------------------------------------------------------------- /pkg/query-service/rules/queriers.go: -------------------------------------------------------------------------------- 1 | package rules 2 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/signoz/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/alertmanager/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/clickhouse-2/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/clickhouse-3/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/clickhouse/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/zookeeper-1/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/zookeeper-2/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/data/zookeeper-3/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/.npmrc: -------------------------------------------------------------------------------- 1 | registry = 'https://registry.npmjs.org/' -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/alertmanager/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/clickhouse-2/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/clickhouse-3/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/clickhouse/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/zookeeper-1/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/zookeeper-2/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/data/zookeeper-3/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vscode 3 | .git 4 | -------------------------------------------------------------------------------- /frontend/.yarnrc: -------------------------------------------------------------------------------- 1 | network-timeout 600000 2 | save-prefix "" 3 | -------------------------------------------------------------------------------- /frontend/src/components/Logs/RawLogView/RawLogView.styles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/web/testdata/index.html: -------------------------------------------------------------------------------- 1 |

Welcome to test data!!!

-------------------------------------------------------------------------------- /frontend/src/container/TimeSeriesView/TimeSeriesView.styles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/query-service/.dockerignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | README.md 3 | signoz.db -------------------------------------------------------------------------------- /ee/query-service/.dockerignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | README.md 3 | signoz.db 4 | bin -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/Readme.md: -------------------------------------------------------------------------------- 1 | # SigNoz integrations 2 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Sentry Config File 3 | .env.sentry-build-plugin 4 | -------------------------------------------------------------------------------- /frontend/src/components/Graph/Plugin/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Legend'; 2 | -------------------------------------------------------------------------------- /frontend/src/components/QuickFilters/FilterRenderers/Slider/Slider.styles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/hooks/logs/configs.ts: -------------------------------------------------------------------------------- 1 | export const HIGHLIGHTED_DELAY = 10000; 2 | -------------------------------------------------------------------------------- /frontend/src/store/actions/metrics/index.ts: -------------------------------------------------------------------------------- 1 | export * from './getService'; 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .github 3 | .vscode 4 | README.md 5 | deploy 6 | sample-apps -------------------------------------------------------------------------------- /frontend/src/container/OnboardingQuestionaire/OrgQuestions/OrgQuestions.styles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/query-service/cache/testdata/cache.yaml: -------------------------------------------------------------------------------- 1 | name: test 2 | provider: inmemory 3 | -------------------------------------------------------------------------------- /frontend/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | *.typegen.ts 4 | i18-generate-hash.js -------------------------------------------------------------------------------- /frontend/public/locales/en/logs.json: -------------------------------------------------------------------------------- 1 | { "fetching_log_lines": "Fetching log lines" } 2 | -------------------------------------------------------------------------------- /frontend/src/utils/token.ts: -------------------------------------------------------------------------------- 1 | export class Token { 2 | static auth0Token = ''; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/logs.json: -------------------------------------------------------------------------------- 1 | { "fetching_log_lines": "Fetching log lines" } 2 | -------------------------------------------------------------------------------- /frontend/src/constants/onboarding.ts: -------------------------------------------------------------------------------- 1 | export const SKIP_ONBOARDING = 'skip_onboarding'; 2 | -------------------------------------------------------------------------------- /frontend/src/constants/queryBuilderFilterConfig.ts: -------------------------------------------------------------------------------- 1 | export const DEBOUNCE_DELAY = 200; 2 | -------------------------------------------------------------------------------- /frontend/src/container/LogsTable/logsTable.styles.scss: -------------------------------------------------------------------------------- 1 | .logs-card { 2 | flex: 1; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryTable/index.ts: -------------------------------------------------------------------------------- 1 | export { QueryTable } from './QueryTable'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/Trace/Search/config.ts: -------------------------------------------------------------------------------- 1 | export const contentStyle = { padding: 0 }; 2 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/register/200.json: -------------------------------------------------------------------------------- 1 | { "data": "user registered successfully" } 2 | -------------------------------------------------------------------------------- /frontend/commitlint.config.ts: -------------------------------------------------------------------------------- 1 | export default { extends: ['@commitlint/config-conventional'] }; 2 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name_of_the_view": "Name of the view" 3 | } -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/traceDetails.json: -------------------------------------------------------------------------------- 1 | { 2 | "search_tags": "Search Tag Names" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/public/locales/en/traceDetails.json: -------------------------------------------------------------------------------- 1 | { 2 | "search_tags": "Search Tag Names" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/components/TextToolTip/constant.ts: -------------------------------------------------------------------------------- 1 | export const style = { fontSize: '1rem' }; 2 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/constants.ts: -------------------------------------------------------------------------------- 1 | export const TIMELINE_TABLE_PAGE_SIZE = 20; 2 | -------------------------------------------------------------------------------- /frontend/src/container/ErrorDetails/styles.scss: -------------------------------------------------------------------------------- 1 | .error-container { 2 | height: 50vh; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/Query/index.ts: -------------------------------------------------------------------------------- 1 | export { Query } from './Query'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/index.ts: -------------------------------------------------------------------------------- 1 | export { QueryBuilder } from './QueryBuilder'; 2 | -------------------------------------------------------------------------------- /frontend/src/typings/chartjs-adapter-date-fns.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'chartjs-adapter-date-fns'; 2 | -------------------------------------------------------------------------------- /frontend/src/components/Uplot/index.ts: -------------------------------------------------------------------------------- 1 | import Uplot from './Uplot'; 2 | 3 | export default Uplot; 4 | -------------------------------------------------------------------------------- /frontend/src/hooks/queryPagination/index.ts: -------------------------------------------------------------------------------- 1 | export * from './config'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /frontend/src/types/api/pipeline/get.ts: -------------------------------------------------------------------------------- 1 | export type Props = { 2 | version: string | number; 3 | }; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/settings/common.ts: -------------------------------------------------------------------------------- 1 | export type TTTLType = 'metrics' | 'traces' | 'logs'; 2 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/organisation/201.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": "org updated successfully" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/Formula/index.ts: -------------------------------------------------------------------------------- 1 | export { Formula } from './Formula'; 2 | -------------------------------------------------------------------------------- /frontend/src/pages/LogsSettings/types.ts: -------------------------------------------------------------------------------- 1 | export type TableLabel = { routeKey: string; label: string }; 2 | -------------------------------------------------------------------------------- /frontend/src/pages/Support/index.tsx: -------------------------------------------------------------------------------- 1 | import Support from './Support'; 2 | 3 | export default Support; 4 | -------------------------------------------------------------------------------- /frontend/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build 3 | coverage 4 | 5 | # Ignore all MD files: 6 | **/*.md -------------------------------------------------------------------------------- /frontend/public/Logos/go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/go.png -------------------------------------------------------------------------------- /frontend/public/Logos/php.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/php.png -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/ListMarker/index.ts: -------------------------------------------------------------------------------- 1 | export { ListMarker } from './ListMarker'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/SideNav/index.ts: -------------------------------------------------------------------------------- 1 | import SideNav from './SideNav'; 2 | 3 | export default SideNav; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/Shortcuts/index.ts: -------------------------------------------------------------------------------- 1 | import Shortcuts from './Shortcuts'; 2 | 3 | export default Shortcuts; 4 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/Tabs/index.tsx: -------------------------------------------------------------------------------- 1 | import Tabs from './Tabs'; 2 | 3 | export default Tabs; 4 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/Tabs2/index.tsx: -------------------------------------------------------------------------------- 1 | import Tabs2 from './Tabs2'; 2 | 3 | export default Tabs2; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/liveTail.ts: -------------------------------------------------------------------------------- 1 | export type TLogsLiveTailState = 'PLAYING' | 'PAUSED' | 'STOPPED'; 2 | -------------------------------------------------------------------------------- /pkg/http/server/doc.go: -------------------------------------------------------------------------------- 1 | // package server contains an implementation of the http server. 2 | package server 3 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/otel-collector-opamp-config.yaml: -------------------------------------------------------------------------------- 1 | server_endpoint: ws://query-service:4320/v1/opamp 2 | -------------------------------------------------------------------------------- /frontend/.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | cd frontend && yarn lint-staged 5 | -------------------------------------------------------------------------------- /frontend/public/Logos/dotnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/dotnet.png -------------------------------------------------------------------------------- /frontend/public/Logos/elixir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/elixir.png -------------------------------------------------------------------------------- /frontend/public/Logos/heroku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/heroku.png -------------------------------------------------------------------------------- /frontend/public/Logos/http.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/http.png -------------------------------------------------------------------------------- /frontend/public/Logos/java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/java.png -------------------------------------------------------------------------------- /frontend/public/Logos/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/python.png -------------------------------------------------------------------------------- /frontend/public/Logos/rails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/rails.png -------------------------------------------------------------------------------- /frontend/public/Logos/rust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/rust.png -------------------------------------------------------------------------------- /frontend/public/Logos/swift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/swift.png -------------------------------------------------------------------------------- /frontend/public/Logos/vercel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/vercel.png -------------------------------------------------------------------------------- /frontend/src/components/NotFound/constant.ts: -------------------------------------------------------------------------------- 1 | export const defaultText = 'Ah, seems like we reached a dead end!'; 2 | -------------------------------------------------------------------------------- /frontend/src/components/ResizeTable/config.ts: -------------------------------------------------------------------------------- 1 | export const enableUserSelectHack = { enableUserSelectHack: false }; 2 | -------------------------------------------------------------------------------- /frontend/src/components/TextToolTip/TextToolTip.style.scss: -------------------------------------------------------------------------------- 1 | .overlay--text-wrap { 2 | white-space: pre-wrap; 3 | } -------------------------------------------------------------------------------- /frontend/src/constants/card.ts: -------------------------------------------------------------------------------- 1 | export const CARD_BODY_STYLE = { 2 | padding: '0', 3 | height: '100%', 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/FilterLabel/index.ts: -------------------------------------------------------------------------------- 1 | export { FilterLabel } from './FilterLabel'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/HavingFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { HavingFilter } from './HavingFilter'; 2 | -------------------------------------------------------------------------------- /frontend/src/hooks/queryPagination/config.ts: -------------------------------------------------------------------------------- 1 | export const DEFAULT_PER_PAGE_OPTIONS: number[] = [25, 50, 100, 200]; 2 | -------------------------------------------------------------------------------- /frontend/src/pages/Billing/index.tsx: -------------------------------------------------------------------------------- 1 | import BillingPage from './BillingPage'; 2 | 3 | export default BillingPage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/MetricsApplication/constants.ts: -------------------------------------------------------------------------------- 1 | export const APPLICATION_SETTINGS = 'Application Settings'; 2 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/otel-collector-opamp-config.yaml: -------------------------------------------------------------------------------- 1 | server_endpoint: ws://query-service:4320/v1/opamp 2 | -------------------------------------------------------------------------------- /frontend/public/Logos/fluentd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/fluentd.png -------------------------------------------------------------------------------- /frontend/src/container/MetricsApplication/Tabs/Overview/config.ts: -------------------------------------------------------------------------------- 1 | export const title = (): string => 'Key Operations'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/GroupByFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { GroupByFilter } from './GroupByFilter'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/OrderByFilter/constants.ts: -------------------------------------------------------------------------------- 1 | export const SIGNOZ_VALUE = '#SIGNOZ_VALUE'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/OrderByFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { OrderByFilter } from './OrderByFilter'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/ReduceToFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { ReduceToFilter } from './ReduceToFilter'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/Timeline/types.ts: -------------------------------------------------------------------------------- 1 | export interface Interval { 2 | label: string; 3 | percentage: number; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/Version/constant.ts: -------------------------------------------------------------------------------- 1 | export const githubReleaseURL = 'https://github.com/SigNoz/signoz/releases'; 2 | -------------------------------------------------------------------------------- /frontend/src/hooks/useDarkMode/constant.ts: -------------------------------------------------------------------------------- 1 | export const THEME_MODE = { 2 | LIGHT: 'light', 3 | DARK: 'dark', 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/lib/logql/errors/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConvertToFullText'; 2 | export * from './InvalidQueryPair'; 3 | -------------------------------------------------------------------------------- /frontend/src/pages/Logs/logs.styles.scss: -------------------------------------------------------------------------------- 1 | .logs-col-container { 2 | display: flex; 3 | flex-direction: column; 4 | } -------------------------------------------------------------------------------- /frontend/src/periscope/components/SeeMore/index.tsx: -------------------------------------------------------------------------------- 1 | import SeeMore from './SeeMore'; 2 | 3 | export default SeeMore; 4 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/dashboard/getDashboardListEmpty200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": [] 4 | } 5 | -------------------------------------------------------------------------------- /pkg/http/middleware/doc.go: -------------------------------------------------------------------------------- 1 | // package middleware contains an implementation of all middlewares. 2 | package middleware 3 | -------------------------------------------------------------------------------- /pkg/query-service/config/cache-config.yml: -------------------------------------------------------------------------------- 1 | provider: "inmemory" 2 | inmemory: 3 | ttl: 60m 4 | cleanupInterval: 10m 5 | -------------------------------------------------------------------------------- /frontend/public/Logos/cloudwatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/cloudwatch.png -------------------------------------------------------------------------------- /frontend/public/Logos/fluent-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/fluent-bit.png -------------------------------------------------------------------------------- /frontend/public/Logos/javascript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/javascript.png -------------------------------------------------------------------------------- /frontend/src/components/TextToolTip/index.tsx: -------------------------------------------------------------------------------- 1 | import TextToolTip from './TextToolTip'; 2 | 3 | export default TextToolTip; 4 | -------------------------------------------------------------------------------- /frontend/src/components/TypicalOverlayScrollbar/typicalOverlayScrollbar.scss: -------------------------------------------------------------------------------- 1 | .overlay-scrollbar { 2 | height: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/Download/Download.styles.scss: -------------------------------------------------------------------------------- 1 | .download-button { 2 | display: flex; 3 | align-items: center; 4 | } -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/HavingFilterTag/index.ts: -------------------------------------------------------------------------------- 1 | export { HavingFilterTag } from './HavingFilterTag'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/ListItemWrapper/index.ts: -------------------------------------------------------------------------------- 1 | export { ListItemWrapper } from './ListItemWrapper'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/AggregatorFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { AggregatorFilter } from './AggregatorFilter'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/BuilderUnitsFilter/index.ts: -------------------------------------------------------------------------------- 1 | export { BuilderUnitsFilter } from './BuilderUnits'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/OperatorsSelect/index.ts: -------------------------------------------------------------------------------- 1 | export { OperatorsSelect } from './OperatorsSelect'; 2 | -------------------------------------------------------------------------------- /frontend/src/hooks/queryPagination/types.ts: -------------------------------------------------------------------------------- 1 | export interface Pagination { 2 | offset: number; 3 | limit: number; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/lib/history.ts: -------------------------------------------------------------------------------- 1 | import { createBrowserHistory } from 'history'; 2 | 3 | export default createBrowserHistory(); 4 | -------------------------------------------------------------------------------- /frontend/src/pages/AlertDetails/index.tsx: -------------------------------------------------------------------------------- 1 | import AlertDetails from './AlertDetails'; 2 | 3 | export default AlertDetails; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/Integrations/index.ts: -------------------------------------------------------------------------------- 1 | import Integrations from './Integrations'; 2 | 3 | export default Integrations; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/userFeedback/sendResponse.ts: -------------------------------------------------------------------------------- 1 | export interface Props { 2 | email: string; 3 | message: string; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/public/Icons/loading-plane.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Icons/loading-plane.gif -------------------------------------------------------------------------------- /frontend/public/Images/notFound404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Images/notFound404.png -------------------------------------------------------------------------------- /frontend/public/fonts/GeistMonoVF.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/fonts/GeistMonoVF.woff2 -------------------------------------------------------------------------------- /frontend/src/components/Logs/ListLogView/util.ts: -------------------------------------------------------------------------------- 1 | export const isValidLogField = (value: never): boolean => value !== undefined; 2 | -------------------------------------------------------------------------------- /frontend/src/constants/sessionStorage.ts: -------------------------------------------------------------------------------- 1 | export enum SESSIONSTORAGE { 2 | RETRY_LAZY_REFRESHED = 'retry-lazy-refreshed', 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/index.tsx: -------------------------------------------------------------------------------- 1 | import AlertHistory from './AlertHistory'; 2 | 3 | export default AlertHistory; 4 | -------------------------------------------------------------------------------- /frontend/src/container/MetricsApplication/Tabs/Overview/ApDex/constants.ts: -------------------------------------------------------------------------------- 1 | export const metricMeta = 'signoz_latency_bucket'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingQuestionaire/OnboardingFooter/index.ts: -------------------------------------------------------------------------------- 1 | export { OnboardingFooter } from './OnboardingFooter'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingQuestionaire/OnboardingHeader/index.ts: -------------------------------------------------------------------------------- 1 | export { OnboardingHeader } from './OnboardingHeader'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/PanelWrapper/UplotPanelWrapper.styles.scss: -------------------------------------------------------------------------------- 1 | .info-text { 2 | margin-top: 8px; 3 | padding: 8px; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/lib/logql/types.ts: -------------------------------------------------------------------------------- 1 | export interface ILogQLParsedQueryItem { 2 | type: string; 3 | value: string | string[]; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/pages/NewDashboard/index.tsx: -------------------------------------------------------------------------------- 1 | import DashboardPage from './DashboardPage'; 2 | 3 | export default DashboardPage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/OrgOnboarding/index.tsx: -------------------------------------------------------------------------------- 1 | import OnboardingPage from './OrgOnboarding'; 2 | 3 | export default OnboardingPage; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/getSearchFields.ts: -------------------------------------------------------------------------------- 1 | import { IFields } from './fields'; 2 | 3 | export type PayloadProps = IFields; 4 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | include: 2 | - test-app-docker-compose.yaml 3 | - docker-compose-minimal.yaml 4 | -------------------------------------------------------------------------------- /frontend/public/Logos/ms-net-framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Logos/ms-net-framework.png -------------------------------------------------------------------------------- /frontend/src/container/LogDetailedView/LogContext.styles.scss: -------------------------------------------------------------------------------- 1 | .log-context-container { 2 | border: 1px solid var(--bg-slate-400); 3 | } -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerViews/QueryStatus.styles.scss: -------------------------------------------------------------------------------- 1 | .query-status { 2 | display: flex; 3 | align-items: center; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/DataSourceDropdown/index.ts: -------------------------------------------------------------------------------- 1 | export { DataSourceDropdown } from './DataSourceDropdown'; 2 | -------------------------------------------------------------------------------- /frontend/src/pages/AlertHistory/index.tsx: -------------------------------------------------------------------------------- 1 | import AlertHistory from 'container/AlertHistory'; 2 | 3 | export default AlertHistory; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/LogsModulePage/index.tsx: -------------------------------------------------------------------------------- 1 | import LogsModulePage from './LogsModulePage'; 2 | 3 | export default LogsModulePage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/MessagingQueues/index.tsx: -------------------------------------------------------------------------------- 1 | import MessagingQueues from './MessagingQueues'; 2 | 3 | export default MessagingQueues; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/OnboardingPage/index.tsx: -------------------------------------------------------------------------------- 1 | import OnboardingPage from './OnboardingPage'; 2 | 3 | export default OnboardingPage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/WorkspaceLocked/index.tsx: -------------------------------------------------------------------------------- 1 | import WorkspaceLocked from './WorkspaceLocked'; 2 | 3 | export default WorkspaceLocked; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/getAll.ts: -------------------------------------------------------------------------------- 1 | import { GettableAlert } from './get'; 2 | 3 | export type PayloadProps = GettableAlert[]; 4 | -------------------------------------------------------------------------------- /frontend/bundlesize.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | { 4 | "path": "./build/**.js", 5 | "maxSize": "1.2MB" 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /frontend/public/fonts/SpaceMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/fonts/SpaceMono-Regular.ttf -------------------------------------------------------------------------------- /frontend/src/container/ExplorerOptions/constants.ts: -------------------------------------------------------------------------------- 1 | export enum PreservedViewsTypes { 2 | LOGS = 'logs', 3 | TRACES = 'traces', 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/ListOfDashboard/index.tsx: -------------------------------------------------------------------------------- 1 | import DashboardsList from './DashboardsList'; 2 | 3 | export default DashboardsList; 4 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.md' { 2 | const content: string; 3 | export = content; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/config.ts: -------------------------------------------------------------------------------- 1 | export const selectStyle = { width: '100%', minWidth: '7.7rem' }; 2 | -------------------------------------------------------------------------------- /frontend/src/hooks/useScrollToTop/types.ts: -------------------------------------------------------------------------------- 1 | export interface UseScrollToTop { 2 | isVisible: boolean; 3 | scrollToTop: VoidFunction; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/pages/MessagingQueues/MQDetailPage/index.tsx: -------------------------------------------------------------------------------- 1 | import MQDetailPage from './MQDetailPage'; 2 | 3 | export default MQDetailPage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/TracesModulePage/index.tsx: -------------------------------------------------------------------------------- 1 | import TracesModulePage from './TracesModulePage'; 2 | 3 | export default TracesModulePage; 4 | -------------------------------------------------------------------------------- /frontend/src/utils/getEventEmitter.ts: -------------------------------------------------------------------------------- 1 | import EventEmitter from 'eventemitter3'; 2 | 3 | export const eventEmitter = new EventEmitter(); 4 | -------------------------------------------------------------------------------- /frontend/public/Images/signoz-hero-image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/Images/signoz-hero-image.webp -------------------------------------------------------------------------------- /frontend/public/locales/en/valueGraph.json: -------------------------------------------------------------------------------- 1 | { 2 | "this_value_satisfies_multiple_thresholds": "This value satisfies multiple thresholds." 3 | } -------------------------------------------------------------------------------- /frontend/src/components/Logs/RawLogView/config.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from 'react'; 2 | 3 | export const rawLineStyle: CSSProperties = {}; 4 | -------------------------------------------------------------------------------- /frontend/src/components/TabsAndFilters/Tabs/Tabs.styles.scss: -------------------------------------------------------------------------------- 1 | .tab-title { 2 | display: flex; 3 | gap: 4px; 4 | align-items: center; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/constants/optionsFormatTypes.ts: -------------------------------------------------------------------------------- 1 | export enum OptionFormatTypes { 2 | RAW = 'raw', 3 | LIST = 'list', 4 | TABLE = 'table', 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/Formula/Formula.styles.scss: -------------------------------------------------------------------------------- 1 | .formula-container { 2 | padding: 0 24px; 3 | width: 100%; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/OrderByFilter/config.ts: -------------------------------------------------------------------------------- 1 | export const ORDERBY_FILTERS = { 2 | ASC: 'asc', 3 | DESC: 'desc', 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/TopNav/DateTimeSelection/DateTimeSelection.styles.scss: -------------------------------------------------------------------------------- 1 | .date-time-selection-container { 2 | margin-bottom: 16px; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/KeyValueLabel/index.tsx: -------------------------------------------------------------------------------- 1 | import KeyValueLabel from './KeyValueLabel'; 2 | 3 | export default KeyValueLabel; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/logAggregate.ts: -------------------------------------------------------------------------------- 1 | export interface ILogsAggregate { 2 | timestamp: number; 3 | value: number; 4 | time: Date; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/utils/form/requireErrorMessage.ts: -------------------------------------------------------------------------------- 1 | export const requireErrorMessage = (fieldName: string): string => 2 | `Missing ${fieldName}`; 3 | -------------------------------------------------------------------------------- /pkg/http/doc.go: -------------------------------------------------------------------------------- 1 | // package http contains all http related functions such 2 | // as servers, middlewares, routers and renders. 3 | package http 4 | -------------------------------------------------------------------------------- /frontend/src/components/CustomTimePicker/RangePickerModal.styles.scss: -------------------------------------------------------------------------------- 1 | .custom-date-picker { 2 | display: flex; 3 | flex-direction: column; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/components/ReleaseNote/ReleaseNoteProps.ts: -------------------------------------------------------------------------------- 1 | export default interface ReleaseNoteProps { 2 | path?: string; 3 | release?: string; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/AlertHistory.styles.scss: -------------------------------------------------------------------------------- 1 | .alert-history { 2 | display: flex; 3 | flex-direction: column; 4 | gap: 24px; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/container/FormAlertRules/ChQuerySection/index.ts: -------------------------------------------------------------------------------- 1 | import ChQuerySection from './ChQuerySection'; 2 | 3 | export default ChQuerySection; 4 | -------------------------------------------------------------------------------- /frontend/src/container/LogDetailedView/constant.ts: -------------------------------------------------------------------------------- 1 | export const DROPDOWN_KEY = { 2 | FILTER_IN: 'filterIn', 3 | FILTER_OUT: 'filterOut', 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/Layouts/config.ts: -------------------------------------------------------------------------------- 1 | export const historyPagination = { 2 | defaultPageSize: 5, 3 | hideOnSinglePage: true, 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/ResourceAttributesFilter/components/QueryChip/index.ts: -------------------------------------------------------------------------------- 1 | import QueryChip from './QueryChip'; 2 | 3 | export default QueryChip; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/DashboardsListPage/index.tsx: -------------------------------------------------------------------------------- 1 | import DashboardsListPage from './DashboardsListPage'; 2 | 3 | export default DashboardsListPage; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/MessagingQueues/MQGraph/MQConfigOptions.styles.scss: -------------------------------------------------------------------------------- 1 | .mq-config { 2 | display: flex; 3 | justify-content: space-between; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/CopyToClipboard/index.tsx: -------------------------------------------------------------------------------- 1 | import CopyToClipboard from './CopyToClipboard'; 2 | 3 | export default CopyToClipboard; 4 | -------------------------------------------------------------------------------- /frontend/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | services: 3 | web: 4 | build: . 5 | image: signoz/frontend:latest 6 | ports: 7 | - "3301:3301" 8 | -------------------------------------------------------------------------------- /frontend/public/fonts/FiraCode-VariableFont_wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/fonts/FiraCode-VariableFont_wght.ttf -------------------------------------------------------------------------------- /frontend/public/fonts/WorkSans-VariableFont_wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/fonts/WorkSans-VariableFont_wght.ttf -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/index.tsx: -------------------------------------------------------------------------------- 1 | import OnboardingContainer from './OnboardingContainer'; 2 | 3 | export default OnboardingContainer; 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/AdditionalFiltersToggler/index.ts: -------------------------------------------------------------------------------- 1 | export { AdditionalFiltersToggler } from './AdditionalFiltersToggler'; 2 | -------------------------------------------------------------------------------- /frontend/src/container/Trace/Filters/Panel/PanelBody/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div``; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getVersion.ts: -------------------------------------------------------------------------------- 1 | export interface PayloadProps { 2 | version: string; 3 | ee: 'Y' | 'N'; 4 | setupCompleted: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/utils/transformToUpperCase.ts: -------------------------------------------------------------------------------- 1 | export const transformToUpperCase = (str: string): string => 2 | str.charAt(0).toUpperCase() + str.slice(1); 3 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/errorDetails/404.json: -------------------------------------------------------------------------------- 1 | { 2 | "error": "Error/Exception not found", 3 | "errorType": "not_found", 4 | "status": "error" 5 | } 6 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/traces/traceExplorerViewPost200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": "336368a4-dba7-4d65-9f91-142a355edb23" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/errors/doc.go: -------------------------------------------------------------------------------- 1 | // package error contains error related utilities. Use this package when 2 | // a well-defined error has to be shown. 3 | package errors 4 | -------------------------------------------------------------------------------- /frontend/public/fonts/Inter-VariableFont_opsz,wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/public/fonts/Inter-VariableFont_opsz,wght.ttf -------------------------------------------------------------------------------- /frontend/src/container/GeneralSettingsCloud/index.tsx: -------------------------------------------------------------------------------- 1 | import GeneralSettingsCloud from './GeneralSettingsCloud'; 2 | 3 | export default GeneralSettingsCloud; 4 | -------------------------------------------------------------------------------- /frontend/src/container/PageSizeSelect/PageSizeSelect.interfaces.ts: -------------------------------------------------------------------------------- 1 | export type PageSizeSelectProps = { 2 | isLoading: boolean; 3 | isShow: boolean; 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/index.tsx: -------------------------------------------------------------------------------- 1 | import PipelineListsView from './PipelineListsView'; 2 | 3 | export default PipelineListsView; 4 | -------------------------------------------------------------------------------- /frontend/src/lib/logql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './parser'; 2 | export * from './reverseParser'; 3 | export * from './splitter'; 4 | export * from './tokens'; 5 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/DataStateRenderer/index.tsx: -------------------------------------------------------------------------------- 1 | import DataStateRenderer from './DataStateRenderer'; 2 | 3 | export default DataStateRenderer; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/disks/getDisks.ts: -------------------------------------------------------------------------------- 1 | export type PayloadProps = IDiskType[]; 2 | export interface IDiskType { 3 | name: string; 4 | type: string; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/types/api/metrics/getMetricName.ts: -------------------------------------------------------------------------------- 1 | export type MetricNameProps = string; 2 | export type MetricNamesPayloadProps = { 3 | data: string[]; 4 | }; 5 | -------------------------------------------------------------------------------- /frontend/src/types/common/dashboard.ts: -------------------------------------------------------------------------------- 1 | export enum EQueryType { 2 | QUERY_BUILDER = 'builder', 3 | CLICKHOUSE = 'clickhouse_sql', 4 | PROM = 'promql', 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/utils/getFormatedLegend.ts: -------------------------------------------------------------------------------- 1 | export const getFormatedLegend = (value: string): string => 2 | value.replace(/\{\s*\{\s*(.*?)\s*\}\s*\}/g, '{{$1}}'); 3 | -------------------------------------------------------------------------------- /pkg/query-service/constants/auth.go: -------------------------------------------------------------------------------- 1 | package constants 2 | 3 | const ( 4 | AdminGroup = "ADMIN" 5 | EditorGroup = "EDITOR" 6 | ViewerGroup = "VIEWER" 7 | ) 8 | -------------------------------------------------------------------------------- /frontend/src/pages/AlertDetails/AlertHeader/AlertLabels/AlertLabels.styles.scss: -------------------------------------------------------------------------------- 1 | .alert-labels { 2 | display: flex; 3 | flex-wrap: wrap; 4 | gap: 4px 6px; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/pages/IntegrationsModulePage/index.ts: -------------------------------------------------------------------------------- 1 | import IntegrationsModulePage from './IntegrationsModulePage'; 2 | 3 | export default IntegrationsModulePage; 4 | -------------------------------------------------------------------------------- /frontend/src/types/api/pipeline/post.ts: -------------------------------------------------------------------------------- 1 | import { PipelineData } from './def'; 2 | 3 | export interface Props { 4 | data: { pipelines: Array }; 5 | } 6 | -------------------------------------------------------------------------------- /pkg/query-service/common/ctx.go: -------------------------------------------------------------------------------- 1 | package common 2 | 3 | type LogCommentContextKeyType string 4 | 5 | const LogCommentKey LogCommentContextKeyType = "logComment" 6 | -------------------------------------------------------------------------------- /frontend/src/components/TabLabel/TabLabel.interfaces.ts: -------------------------------------------------------------------------------- 1 | export type TabLabelProps = { 2 | isDisabled: boolean; 3 | label: string; 4 | tooltipText?: string; 5 | }; 6 | -------------------------------------------------------------------------------- /frontend/src/components/VirtuosoOverlayScrollbar/virtuosoOverlayScrollbar.scss: -------------------------------------------------------------------------------- 1 | .overlay-scroll-wrapper { 2 | height: 100%; 3 | width: 100%; 4 | overflow: auto; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/container/FormAlertRules/RuleOptions.styles.scss: -------------------------------------------------------------------------------- 1 | .rule-definition { 2 | display: flex; 3 | flex-wrap: wrap; 4 | gap: 8px; 5 | align-items: center; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/container/GridTableComponent/GridTableComponent.styles.scss: -------------------------------------------------------------------------------- 1 | .long-text-tooltip { 2 | max-width: 500px; 3 | max-height: 500px; 4 | overflow-y: auto; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/container/LiveLogs/LiveLogsList/types.ts: -------------------------------------------------------------------------------- 1 | import { ILog } from 'types/api/logs/log'; 2 | 3 | export type LiveLogsListProps = { 4 | logs: ILog[]; 5 | }; 6 | -------------------------------------------------------------------------------- /frontend/src/container/MySettings/UserInfo/UserInfo.styles.scss: -------------------------------------------------------------------------------- 1 | .userInfo-label { 2 | min-width: 150px; 3 | } 4 | 5 | .userInfo-value { 6 | min-width: 20rem; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/container/QueryTable/config.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from 'styled-components'; 2 | 3 | export const QUERY_TABLE_CONFIG: CSSProperties = { width: 145 }; 4 | -------------------------------------------------------------------------------- /frontend/src/pages/IntegrationsMarketPlace/index.ts: -------------------------------------------------------------------------------- 1 | import IntegrationsMarketPlace from './IntegrationsMarketPlace'; 2 | 3 | export default IntegrationsMarketPlace; 4 | -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/user_scripts/histogramQuantile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/deploy/docker/clickhouse-setup/user_scripts/histogramQuantile -------------------------------------------------------------------------------- /frontend/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | ['@babel/preset-env', { targets: { node: 'current' } }], 4 | '@babel/preset-typescript', 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/components/TabsAndFilters/constants.ts: -------------------------------------------------------------------------------- 1 | export const ALERT_TABS = { 2 | OVERVIEW: 'OVERVIEW', 3 | HISTORY: 'HISTORY', 4 | ACTIVITY: 'ACTIVITY', 5 | } as const; 6 | -------------------------------------------------------------------------------- /frontend/src/container/ResourceAttributesFilter/index.ts: -------------------------------------------------------------------------------- 1 | import ResourceAttributesFilter from './ResourceAttributesFilter'; 2 | 3 | export default ResourceAttributesFilter; 4 | -------------------------------------------------------------------------------- /frontend/src/lib/toCapitalize.ts: -------------------------------------------------------------------------------- 1 | export const toCapitalize = (str: string): string => { 2 | if (!str) return ''; 3 | 4 | return str[0].toUpperCase() + str.slice(1); 5 | }; 6 | -------------------------------------------------------------------------------- /frontend/src/pages/GettingStarted/utmParams.ts: -------------------------------------------------------------------------------- 1 | const UTMParams = 2 | '?utm_source=instrumentation_page&utm_medium=frontend&utm_term=language'; 3 | export default UTMParams; 4 | -------------------------------------------------------------------------------- /frontend/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "useTabs": true, 4 | "tabWidth": 1, 5 | "singleQuote": true, 6 | "jsxSingleQuote": false, 7 | "semi": true 8 | } 9 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "current_password": "Current Password", 3 | "new_password": "New Password", 4 | "change_password": "Change Password" 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/constants/api.ts: -------------------------------------------------------------------------------- 1 | const SOMETHING_WENT_WRONG = 'Something went wrong'; 2 | 3 | const getVersion = 'version'; 4 | 5 | export { getVersion, SOMETHING_WENT_WRONG }; 6 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/AddNewPipeline/FormFields/FilterInput/styles.scss: -------------------------------------------------------------------------------- 1 | .pipeline-filter-input-preview-container { 2 | margin-top: 1rem; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/pages/MetricsApplication/ApDex/__mock__/thresholdMockData.ts: -------------------------------------------------------------------------------- 1 | export const thresholdMockData = { 2 | data: [ 3 | { 4 | threshold: 0.5, 5 | }, 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/SAML/deleteDomain.ts: -------------------------------------------------------------------------------- 1 | import { AuthDomain } from './listDomain'; 2 | 3 | export type Props = AuthDomain; 4 | 5 | export type PayloadProps = AuthDomain; 6 | -------------------------------------------------------------------------------- /frontend/src/types/api/SAML/updateDomain.ts: -------------------------------------------------------------------------------- 1 | import { AuthDomain } from './listDomain'; 2 | 3 | export type Props = AuthDomain; 4 | 5 | export type PayloadProps = AuthDomain; 6 | -------------------------------------------------------------------------------- /frontend/src/components/ClientSideQBSearch/ClientSideQBSearch.styles.scss: -------------------------------------------------------------------------------- 1 | .client-side-qb-search { 2 | .ant-select-selection-search { 3 | width: max-content !important; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/components/TableRenderer/TableRenderer.types.ts: -------------------------------------------------------------------------------- 1 | export type LabelColumnProps = { 2 | labels: string[]; 3 | color?: string; 4 | value?: { [key: string]: string }; 5 | }; 6 | -------------------------------------------------------------------------------- /frontend/src/container/AnomalyAlertEvaluationView/index.tsx: -------------------------------------------------------------------------------- 1 | import AnomalyAlertEvaluationView from './AnomalyAlertEvaluationView'; 2 | 3 | export default AnomalyAlertEvaluationView; 4 | -------------------------------------------------------------------------------- /frontend/src/container/ExplorerControlPanel/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const ContainerStyled = styled.div` 4 | margin-bottom: 0.3rem; 5 | `; 6 | -------------------------------------------------------------------------------- /frontend/src/container/GantChart/Trace/utils.ts: -------------------------------------------------------------------------------- 1 | export const getIconStyles = (isDarkMode: boolean): Record => ({ 2 | color: isDarkMode ? 'white' : 'black', 3 | }); 4 | -------------------------------------------------------------------------------- /frontend/src/lib/covertIntoEpoc.ts: -------------------------------------------------------------------------------- 1 | const convertIntoEpoc = (number: number): string => 2 | number.toString().split('.').join('').toString(); 3 | 4 | export default convertIntoEpoc; 5 | -------------------------------------------------------------------------------- /frontend/src/pages/Status/index.tsx: -------------------------------------------------------------------------------- 1 | import Version from 'container/Version'; 2 | 3 | function Status(): JSX.Element { 4 | return ; 5 | } 6 | 7 | export default Status; 8 | -------------------------------------------------------------------------------- /frontend/src/store/actions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './global'; 2 | export * from './metrics'; 3 | export * from './serviceMap'; 4 | export * from './types'; 5 | export * from './usage'; 6 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getUserPreference.ts: -------------------------------------------------------------------------------- 1 | export interface PayloadProps { 2 | hasOptedUpdates: boolean; 3 | id: number; 4 | isAnonymous: boolean; 5 | uuid: string; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/resetPassword.ts: -------------------------------------------------------------------------------- 1 | export interface Props { 2 | token: string; 3 | password: string; 4 | } 5 | 6 | export interface PayloadProps { 7 | data: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/public/locales/en/apiKeys.json: -------------------------------------------------------------------------------- 1 | { 2 | "delete_confirm_message": "Are you sure you want to delete {{keyName}} token? Deleting a token is irreversible and cannot be undone." 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/components/ResizeTable/index.ts: -------------------------------------------------------------------------------- 1 | import ResizableHeader from './ResizableHeader'; 2 | import ResizeTable from './ResizeTable'; 3 | 4 | export { ResizableHeader, ResizeTable }; 5 | -------------------------------------------------------------------------------- /frontend/src/container/GridValueComponent/config.ts: -------------------------------------------------------------------------------- 1 | import { GridValueComponentProps } from './types'; 2 | 3 | export const GridValueConfig: Pick = {}; 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/BuilderUnitsFilter/types.ts: -------------------------------------------------------------------------------- 1 | export interface IBuilderUnitsFilterProps { 2 | onChange?: (value: string) => void; 3 | yAxisUnit?: string; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/pages/AlertDetails/types.ts: -------------------------------------------------------------------------------- 1 | export type AlertDetailsStatusRendererProps = { 2 | isLoading: boolean; 3 | isError: boolean; 4 | isRefetching: boolean; 5 | data: any; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/ruleStats.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from './def'; 2 | 3 | export interface RuleStatsProps { 4 | id: AlertDef['id']; 5 | start: number; 6 | end: number; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/get.ts: -------------------------------------------------------------------------------- 1 | import { Channels } from './getAll'; 2 | 3 | export interface Props { 4 | id: Channels['id']; 5 | } 6 | 7 | export type PayloadProps = Channels; 8 | -------------------------------------------------------------------------------- /frontend/src/constants/liveTail.ts: -------------------------------------------------------------------------------- 1 | export const LIVE_TAIL_HEARTBEAT_TIMEOUT = 600000; 2 | 3 | export const LIVE_TAIL_GRAPH_INTERVAL = 60000; 4 | 5 | export const MAX_LOGS_LIST_SIZE = 1000; 6 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/components/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const TagInputWrapper = styled.div` 4 | display: flex; 5 | width: 100%; 6 | `; 7 | -------------------------------------------------------------------------------- /frontend/src/pages/Billing/BillingPage.styles.scss: -------------------------------------------------------------------------------- 1 | .billingPageContainer { 2 | display: flex; 3 | width: 100%; 4 | color: #fff; 5 | justify-content: center; 6 | align-items: center; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/dashboard/get.ts: -------------------------------------------------------------------------------- 1 | import { Dashboard } from './getAll'; 2 | 3 | export type Props = { 4 | uuid: Dashboard['uuid']; 5 | }; 6 | 7 | export type PayloadProps = Dashboard; 8 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/ingestionKeys.json: -------------------------------------------------------------------------------- 1 | { 2 | "delete_confirm_message": "Are you sure you want to delete {{keyName}}? Deleting an ingestion key is irreversible and cannot be undone." 3 | } 4 | -------------------------------------------------------------------------------- /frontend/public/locales/en/services.json: -------------------------------------------------------------------------------- 1 | { 2 | "rps_over_100": "You are sending data at more than 100 RPS, your ingestion may be rate limited. Please reach out to us via Intercom support or " 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/components/Styled/types.ts: -------------------------------------------------------------------------------- 1 | import { FlattenSimpleInterpolation } from 'styled-components'; 2 | 3 | export interface IStyledClass { 4 | styledclass?: FlattenSimpleInterpolation[]; 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/container/Controls/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | display: flex; 5 | align-items: center; 6 | gap: 0.5rem; 7 | `; 8 | -------------------------------------------------------------------------------- /frontend/src/container/NewDashboard/DashboardSettings/General/Description/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | margin-top: 1rem; 5 | `; 6 | -------------------------------------------------------------------------------- /frontend/src/container/NewDashboard/DashboardVariablesSelection/index.tsx: -------------------------------------------------------------------------------- 1 | import DashboardVariableSelection from './DashboardVariableSelection'; 2 | 3 | export default DashboardVariableSelection; 4 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/Preview/PipelineProcessingPreview/components/PipelineSimulationResult/styles.scss: -------------------------------------------------------------------------------- 1 | .pipeline-simulation-error { 2 | text-align: center; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/Query/Query.styles.scss: -------------------------------------------------------------------------------- 1 | .qb-search-container { 2 | display: block; 3 | position: relative; 4 | } 5 | 6 | .qb-container { 7 | padding: 0 24px; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/pages/License/index.tsx: -------------------------------------------------------------------------------- 1 | import Licenses from 'container/Licenses'; 2 | 3 | function LicensePage(): JSX.Element { 4 | return ; 5 | } 6 | 7 | export default LicensePage; 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/signup.ts: -------------------------------------------------------------------------------- 1 | export interface Props { 2 | name: string; 3 | orgName: string; 4 | email: string; 5 | password: string; 6 | token?: string; 7 | sourceUrl?: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/services.json: -------------------------------------------------------------------------------- 1 | { 2 | "rps_over_100": "You are sending data at more than 100 RPS, your ingestion may be rate limited. Please reach out to us via Intercom support or " 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/components/MessageTip/styles.ts: -------------------------------------------------------------------------------- 1 | import { Alert } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const StyledAlert = styled(Alert)` 5 | align-items: center; 6 | `; 7 | -------------------------------------------------------------------------------- /frontend/src/hooks/useResourceAttribute/config.ts: -------------------------------------------------------------------------------- 1 | export const whilelistedKeys = [ 2 | 'resource_deployment_environment', 3 | 'resource_k8s_cluster_name', 4 | 'resource_k8s_cluster_namespace', 5 | ]; 6 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/topContributors.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from './def'; 2 | 3 | export interface TopContributorsProps { 4 | id: AlertDef['id']; 5 | start: number; 6 | end: number; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/licenses/def.ts: -------------------------------------------------------------------------------- 1 | export interface License { 2 | key: string; 3 | ValidFrom: Date; 4 | ValidUntil: Date; 5 | planKey: string; 6 | status: string; 7 | isCurrent: boolean; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/addToSelectedFields.ts: -------------------------------------------------------------------------------- 1 | import { IFieldMoveToSelected } from './fields'; 2 | 3 | export type Props = IFieldMoveToSelected; 4 | export type PayloadProps = IFieldMoveToSelected; 5 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/removeSelectedField.ts: -------------------------------------------------------------------------------- 1 | import { IFieldMoveToSelected } from './fields'; 2 | 3 | export type Props = IFieldMoveToSelected; 4 | export type PayloadProps = IFieldMoveToSelected; 5 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/setUserPreference.ts: -------------------------------------------------------------------------------- 1 | export interface Props { 2 | isAnonymous: boolean; 3 | hasOptedUpdates: boolean; 4 | } 5 | 6 | export interface PayloadProps { 7 | data: string; 8 | } 9 | -------------------------------------------------------------------------------- /pkg/query-service/app/opamp/signal.go: -------------------------------------------------------------------------------- 1 | package opamp 2 | 3 | type Signal string 4 | 5 | const ( 6 | Metrics Signal = "metrics" 7 | Traces Signal = "traces" 8 | Logs Signal = "logs" 9 | ) 10 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/Preview/components/PreviewIntervalSelector/styles.scss: -------------------------------------------------------------------------------- 1 | .logs-filter-preview-time-interval-summary { 2 | display: flex; 3 | align-items: center; 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/config.ts: -------------------------------------------------------------------------------- 1 | import DraggableTableRow from 'components/DraggableTableRow'; 2 | 3 | export const tableComponents = { 4 | body: { 5 | row: DraggableTableRow, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/container/TopNav/styles.ts: -------------------------------------------------------------------------------- 1 | import { Row } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled(Row)` 5 | &&& { 6 | margin-top: 1rem; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/modules/Servicemap/index.tsx: -------------------------------------------------------------------------------- 1 | import ServiceMap from './ServiceMap'; 2 | 3 | function ServiceMapContainer(): JSX.Element { 4 | return ; 5 | } 6 | export default ServiceMapContainer; 7 | -------------------------------------------------------------------------------- /frontend/src/pages/OnboardingPage/OnboardingPage.styles.scss: -------------------------------------------------------------------------------- 1 | .onboardingPageContainer { 2 | display: flex; 3 | height: 100%; 4 | // min-height: calc(100vh - 50px); 5 | width: 100%; 6 | color: #fff; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/SAML/postDomain.ts: -------------------------------------------------------------------------------- 1 | import { AuthDomain } from './listDomain'; 2 | 3 | export type Props = { 4 | name: string; 5 | orgId: string; 6 | }; 7 | 8 | export type PayloadProps = AuthDomain; 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/timelineGraph.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from './def'; 2 | 3 | export interface GetTimelineGraphRequestProps { 4 | id: AlertDef['id']; 5 | start: number; 6 | end: number; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/utils/selectPopupContainer.ts: -------------------------------------------------------------------------------- 1 | import { SelectProps } from 'antd'; 2 | 3 | export const popupContainer: SelectProps['getPopupContainer'] = ( 4 | trigger, 5 | ): HTMLElement => trigger.parentNode; 6 | -------------------------------------------------------------------------------- /pkg/confmap/doc.go: -------------------------------------------------------------------------------- 1 | // Package confmap is a wrapper on top of the confmap defined here: 2 | // https://github.com/open-telemetry/opentelemetry-collector/blob/main/otelcol/configprovider.go/ 3 | package confmap 4 | -------------------------------------------------------------------------------- /frontend/public/locales/en/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "current_password": "Current Password", 3 | "new_password": "New Password", 4 | "change_password": "Change Password", 5 | "input_password": "input password" 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/container/ConfigDropdown/styles.ts: -------------------------------------------------------------------------------- 1 | import { Dropdown } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const ConfigDropdown = styled(Dropdown)` 5 | cursor: pointer; 6 | `; 7 | -------------------------------------------------------------------------------- /frontend/src/container/LocalTopNav/types.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | export type LocalTopNavProps = { 4 | actions?: ReactNode; 5 | renderPermissions?: { isDateTimeEnabled: boolean }; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/Layouts/utils.ts: -------------------------------------------------------------------------------- 1 | import { PipelineData } from 'types/api/pipeline/def'; 2 | 3 | export const checkDataLength = (data: Array): boolean => 4 | data?.length > 0; 5 | -------------------------------------------------------------------------------- /frontend/src/pages/Pipelines/Pipelines.styles.scss: -------------------------------------------------------------------------------- 1 | .pipeline-tabs { 2 | .ant-tabs-content { 3 | padding: 0 16px; 4 | } 5 | 6 | .ant-tabs-tabpane-hidden { 7 | display: none !important; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/register/401.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "error", 3 | "errorType": "unauthorized", 4 | "error": "You are not allowed to create an account. Please ask your admin to send an invite link" 5 | } 6 | -------------------------------------------------------------------------------- /pkg/registry/doc.go: -------------------------------------------------------------------------------- 1 | // package registry contains a simple implementation of https://github.com/google/guava/wiki/ServiceExplained 2 | // Here the the "ServiceManager" is called the "Registry" 3 | package registry 4 | -------------------------------------------------------------------------------- /frontend/src/components/Logs/styles.ts: -------------------------------------------------------------------------------- 1 | import { Button } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const ButtonContainer = styled(Button)` 5 | &&& { 6 | padding-left: 0; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/container/ErrorDetails/config.ts: -------------------------------------------------------------------------------- 1 | export const keyToExclude = [ 2 | 'exceptionStacktrace', 3 | 'exceptionType', 4 | 'errorId', 5 | 'timestamp', 6 | 'exceptionMessage', 7 | 'exceptionEscaped', 8 | ]; 9 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/Preview/components/PreviewIntervalSelector/components/LogsCountInInterval/styles.scss: -------------------------------------------------------------------------------- 1 | .logs-filter-preview-matched-logs-count { 2 | margin-right: 0.5rem; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/container/Version/styles.ts: -------------------------------------------------------------------------------- 1 | import { Input } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const InputComponent = styled(Input)` 5 | &&& { 6 | max-width: 183px; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/pages/MySettings/index.tsx: -------------------------------------------------------------------------------- 1 | import MySettingsContainer from 'container/MySettings'; 2 | 3 | function MySettings(): JSX.Element { 4 | return ; 5 | } 6 | export default MySettings; 7 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/LineClampedText/LineClampedText.styles.scss: -------------------------------------------------------------------------------- 1 | .line-clamped-text { 2 | display: -webkit-box; 3 | -webkit-box-orient: vertical; 4 | overflow: hidden; 5 | text-overflow: ellipsis; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/metrics/getTopLevelOperations.ts: -------------------------------------------------------------------------------- 1 | export type TopLevelOperations = string[]; 2 | 3 | export interface Props { 4 | service: string; 5 | } 6 | 7 | export type PayloadProps = TopLevelOperations; 8 | -------------------------------------------------------------------------------- /frontend/example.env: -------------------------------------------------------------------------------- 1 | NODE_ENV="development" 2 | BUNDLE_ANALYSER="true" 3 | FRONTEND_API_ENDPOINT="http://localhost:3301/" 4 | INTERCOM_APP_ID="intercom-app-id" 5 | 6 | PLAYWRIGHT_TEST_BASE_URL="http://localhost:3301" 7 | CI="1" -------------------------------------------------------------------------------- /frontend/src/container/FormAlertRules/ChannelSelect/styles.ts: -------------------------------------------------------------------------------- 1 | import { Select } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const StyledSelect = styled(Select)` 5 | border-radius: 4px; 6 | `; 7 | -------------------------------------------------------------------------------- /frontend/src/container/FormAlertRules/labels/types.ts: -------------------------------------------------------------------------------- 1 | export interface ILabelRecord { 2 | key: string; 3 | value: string; 4 | } 5 | 6 | export interface IOption { 7 | label: string; 8 | value: string; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/FilterLabel/FilterLabel.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from 'react'; 2 | 3 | export type FilterLabelProps = { 4 | label: string; 5 | style?: CSSProperties; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/container/ServiceTable/types.ts: -------------------------------------------------------------------------------- 1 | import { ServicesList } from 'types/api/metrics/getService'; 2 | 3 | export default interface ServiceTableProp { 4 | services: ServicesList[]; 5 | isLoading: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/components/DropDown/DropDown.styles.scss: -------------------------------------------------------------------------------- 1 | .dropdown-button { 2 | color: #fff; 3 | } 4 | 5 | .dropdown-button--dark { 6 | color: #000; 7 | } 8 | 9 | .dropdown-icon { 10 | font-size: 1.2rem; 11 | } -------------------------------------------------------------------------------- /frontend/src/container/NewDashboard/DashboardSettings/Variables/types.ts: -------------------------------------------------------------------------------- 1 | export type TVariableMode = 'VIEW' | 'EDIT' | 'ADD'; 2 | 3 | export const VariableModes = { 4 | VIEW: 'VIEW', 5 | EDIT: 'EDIT', 6 | ADD: 'ADD', 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/Windows/Recommended/rust-windows-recommended-runApplication.md: -------------------------------------------------------------------------------- 1 | Now run 2 | 3 | ```bash 4 | cargo run 5 | ``` 6 | 7 | 8 | in terminal to start the application! -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/constant.ts: -------------------------------------------------------------------------------- 1 | export const PLACEHOLDER = 2 | 'Search Filter : select options from suggested values, for IN/NOT IN operators - press "Enter" after selecting options'; 3 | -------------------------------------------------------------------------------- /frontend/src/hooks/useFeatureFlag/utils.ts: -------------------------------------------------------------------------------- 1 | import { FeatureKeys } from 'constants/features'; 2 | 3 | export const isFeatureKeys = (key: string): key is keyof typeof FeatureKeys => 4 | Object.keys(FeatureKeys).includes(key); 5 | -------------------------------------------------------------------------------- /frontend/src/hooks/useLicense/constant.ts: -------------------------------------------------------------------------------- 1 | export const LICENSE_PLAN_KEY = { 2 | ENTERPRISE_PLAN: 'ENTERPRISE_PLAN', 3 | BASIC_PLAN: 'BASIC_PLAN', 4 | }; 5 | 6 | export const LICENSE_PLAN_STATUS = { 7 | VALID: 'VALID', 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/lib/convertToNanoSecondsToSecond.ts: -------------------------------------------------------------------------------- 1 | const convertToNanoSecondsToSecond = (number: number): string => 2 | parseFloat((number / 1000000).toString()).toFixed(2); 3 | 4 | export default convertToNanoSecondsToSecond; 5 | -------------------------------------------------------------------------------- /frontend/src/modules/Usage/index.tsx: -------------------------------------------------------------------------------- 1 | import { UsageExplorer } from './UsageExplorer'; 2 | 3 | function UsageExplorerContainer(): JSX.Element { 4 | return ; 5 | } 6 | 7 | export default UsageExplorerContainer; 8 | -------------------------------------------------------------------------------- /frontend/src/pages/CreateAlert/index.tsx: -------------------------------------------------------------------------------- 1 | import CreateAlertRule from 'container/CreateAlertRule'; 2 | 3 | function CreateAlertPage(): JSX.Element { 4 | return ; 5 | } 6 | 7 | export default CreateAlertPage; 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/dashboard/delete.ts: -------------------------------------------------------------------------------- 1 | import { Dashboard } from './getAll'; 2 | 3 | export type Props = { 4 | uuid: Dashboard['uuid']; 5 | }; 6 | 7 | export interface PayloadProps { 8 | status: 'success'; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/deleteInvite.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | export interface Props { 4 | email: User['email']; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/deleteUser.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | export interface Props { 4 | userId: User['userId']; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | } 10 | -------------------------------------------------------------------------------- /pkg/query-service/app/opamp/otelconfig/otlpreceiver/config.go: -------------------------------------------------------------------------------- 1 | package otlpreceiver 2 | 3 | type Protocols struct { 4 | GRPC *GRPCServerSettings `mapstructure:"grpc"` 5 | HTTP *HTTPServerSettings `mapstructure:"http"` 6 | } 7 | -------------------------------------------------------------------------------- /ee/query-service/integrations/gateway/noop.go: -------------------------------------------------------------------------------- 1 | package gateway 2 | 3 | import ( 4 | "net/http/httputil" 5 | ) 6 | 7 | func NewNoopProxy() (*httputil.ReverseProxy, error) { 8 | return &httputil.ReverseProxy{}, nil 9 | } 10 | -------------------------------------------------------------------------------- /frontend/public/locales/en/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name_of_the_view": "Name of the view", 3 | "delete_confirm_message": "Are you sure you want to delete {{viewName}} view? Deleting a view is irreversible and cannot be undone." 4 | } -------------------------------------------------------------------------------- /frontend/src/api/browser/localstorage/get.ts: -------------------------------------------------------------------------------- 1 | const get = (key: string): string | null => { 2 | try { 3 | return localStorage.getItem(key); 4 | } catch (e) { 5 | return ''; 6 | } 7 | }; 8 | 9 | export default get; 10 | -------------------------------------------------------------------------------- /frontend/src/components/Logs/CategoryHeading/styles.ts: -------------------------------------------------------------------------------- 1 | import { Typography } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const CategoryHeadingText = styled(Typography.Text)` 5 | font-size: 0.8rem; 6 | `; 7 | -------------------------------------------------------------------------------- /frontend/src/container/CreateAlertChannels/utils.ts: -------------------------------------------------------------------------------- 1 | import { ChannelType } from './config'; 2 | 3 | export const isChannelType = (type: string): type is ChannelType => 4 | Object.values(ChannelType).includes(type as ChannelType); 5 | -------------------------------------------------------------------------------- /frontend/src/container/LiveLogs/LiveLogsListChart/types.ts: -------------------------------------------------------------------------------- 1 | import { QueryData } from 'types/api/widgets/getQuery'; 2 | 3 | export type LiveLogsListChartProps = { 4 | className?: string; 5 | initialData: QueryData[] | null; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/container/LiveLogs/types.ts: -------------------------------------------------------------------------------- 1 | import { QueryData, QueryDataV3 } from 'types/api/widgets/getQuery'; 2 | 3 | export type QueryHistoryState = { 4 | graphQueryPayload: QueryData[]; 5 | listQueryPayload: QueryDataV3[]; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/container/NewWidget/LeftContainer/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const QueryContainer = styled(Card)` 5 | &&& { 6 | min-height: 23.5%; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Express/Windows/Recommended/express-windows-recommended-runApplication.md: -------------------------------------------------------------------------------- 1 | **Run the application**

2 | 3 | ```bash 4 | node -r ./tracing.js app.js 5 | ``` -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/ListItemWrapper/ListItemWrapper.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | export type ListItemWrapperProps = { 4 | onDelete: () => void; 5 | children: ReactNode; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/licenses/apply.ts: -------------------------------------------------------------------------------- 1 | import { License } from './def'; 2 | 3 | export interface Props { 4 | key: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | status: string; 9 | data: License; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/utils/toFixed.ts: -------------------------------------------------------------------------------- 1 | export function toFixed(input: number, fixedCount: number): number | string { 2 | if (input.toString().split('.').length > 1) { 3 | return input.toFixed(fixedCount); 4 | } 5 | return input; 6 | } 7 | -------------------------------------------------------------------------------- /pkg/query-service/app/logparsingpipeline/agent_feature.go: -------------------------------------------------------------------------------- 1 | package logparsingpipeline 2 | 3 | import "go.signoz.io/signoz/pkg/query-service/agentConf" 4 | 5 | const LogPipelinesFeatureType agentConf.AgentFeatureType = "log_pipelines" 6 | -------------------------------------------------------------------------------- /pkg/version/doc.go: -------------------------------------------------------------------------------- 1 | // Package version is used to track the build information of the application. 2 | // This is typically set via ldflags at build time. 3 | // Eg: -ldflags="-X 'pkg/version.Build.Version=v1.0.0'" 4 | package version 5 | -------------------------------------------------------------------------------- /ee/query-service/anomaly/provider.go: -------------------------------------------------------------------------------- 1 | package anomaly 2 | 3 | import ( 4 | "context" 5 | ) 6 | 7 | type Provider interface { 8 | GetAnomalies(ctx context.Context, req *GetAnomaliesRequest) (*GetAnomaliesResponse, error) 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerList/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const InfinityWrapperStyled = styled.div` 4 | flex: 1; 5 | height: 40rem !important; 6 | display: flex; 7 | height: 100%; 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/container/MySettings/MySettings.styles.scss: -------------------------------------------------------------------------------- 1 | .flexBtn { 2 | display: flex; 3 | align-items: center; 4 | gap: 8px; 5 | } 6 | 7 | .theme-option { 8 | display: flex; 9 | align-items: center; 10 | gap: 8px; 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/Kubernetes/swift-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/Trace/TraceGraphFilter/styles.ts: -------------------------------------------------------------------------------- 1 | import { Select } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const SelectComponent = styled(Select)` 5 | &&& { 6 | min-width: 12rem; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/hooks/useDragColumns/configs.ts: -------------------------------------------------------------------------------- 1 | export const COLUMNS = 'columns'; 2 | 3 | export const dragColumnParams = { 4 | ignoreSelector: '.react-resizable-handle', 5 | nodeSelector: 'th', 6 | handleSelector: '.dragHandler', 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/delete.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from './def'; 2 | 3 | export interface Props { 4 | id: AlertDef['id']; 5 | } 6 | 7 | export interface PayloadProps { 8 | status: string; 9 | data: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/dashboard/update.ts: -------------------------------------------------------------------------------- 1 | import { Dashboard, DashboardData } from './getAll'; 2 | 3 | export type Props = { 4 | uuid: Dashboard['uuid']; 5 | data: DashboardData; 6 | }; 7 | 8 | export type PayloadProps = Dashboard; 9 | -------------------------------------------------------------------------------- /frontend/tests/service/utils.ts: -------------------------------------------------------------------------------- 1 | export const SERVICE_TABLE_HEADERS = { 2 | APPLICATION: 'Applicaton', 3 | P99LATENCY: 'P99 latency (in ms)', 4 | ERROR_RATE: 'Error Rate (% of total)', 5 | OPS_PER_SECOND: 'Operations Per Second', 6 | }; 7 | -------------------------------------------------------------------------------- /pkg/http/render/status.go: -------------------------------------------------------------------------------- 1 | package render 2 | 3 | var ( 4 | StatusSuccess status = status{"success"} 5 | StatusError = status{"error"} 6 | ) 7 | 8 | // Defines custom error types 9 | type status struct{ s string } 10 | -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/nginx/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor Nginx with SigNoz 2 | 3 | Collect and parse Nginx logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 4 | -------------------------------------------------------------------------------- /frontend/src/constants/events.ts: -------------------------------------------------------------------------------- 1 | export enum Events { 2 | UPDATE_GRAPH_VISIBILITY_STATE = 'UPDATE_GRAPH_VISIBILITY_STATE', 3 | UPDATE_GRAPH_MANAGER_TABLE = 'UPDATE_GRAPH_MANAGER_TABLE', 4 | TABLE_COLUMNS_DATA = 'TABLE_COLUMNS_DATA', 5 | } 6 | -------------------------------------------------------------------------------- /frontend/src/constants/regExp.ts: -------------------------------------------------------------------------------- 1 | export const FORMULA_REGEXP = /F\d+/; 2 | 3 | export const HAVING_FILTER_REGEXP = /^[-\d.,\s]+$/; 4 | 5 | export const TYPE_ADDON_REGEXP = /_(.+)/; 6 | 7 | export const SPLIT_FIRST_UNDERSCORE = /(?LogsIndexToFields; 5 | } 6 | 7 | export default LogsIndexToFields; 8 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/tests/__snapshots__/AddNewPipeline.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`PipelinePage container test should render AddNewPipeline section 1`] = ``; 4 | -------------------------------------------------------------------------------- /frontend/src/hooks/useLicense/index.ts: -------------------------------------------------------------------------------- 1 | import { LICENSE_PLAN_KEY, LICENSE_PLAN_STATUS } from './constant'; 2 | import useLicense from './useLicense'; 3 | 4 | export default useLicense; 5 | 6 | export { LICENSE_PLAN_KEY, LICENSE_PLAN_STATUS }; 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/delete.ts: -------------------------------------------------------------------------------- 1 | import { Channels } from './getAll'; 2 | 3 | export interface Props { 4 | id: Channels['id']; 5 | } 6 | 7 | export interface PayloadProps { 8 | status: string; 9 | data: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/editOrg.ts: -------------------------------------------------------------------------------- 1 | export interface Props { 2 | name: string; 3 | isAnonymous: boolean; 4 | orgId: string; 5 | hasOptedUpdates?: boolean; 6 | } 7 | 8 | export interface PayloadProps { 9 | data: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/updateRole.ts: -------------------------------------------------------------------------------- 1 | import { ROLES } from 'types/roles'; 2 | 3 | export interface Props { 4 | group_name: ROLES; 5 | userId: string; 6 | } 7 | 8 | export interface PayloadProps { 9 | data: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/login/200.json: -------------------------------------------------------------------------------- 1 | { 2 | "accessJwt": "authtoken", 3 | "accessJwtExpiry": 1656609177, 4 | "refreshJwt": "refreshJwt", 5 | "refreshJwtExpiry": 1659199377, 6 | "userId": "34917776-514b-4b95-a4f5-1a5cc06e34b6" 7 | } 8 | -------------------------------------------------------------------------------- /pkg/query-service/app/opamp/model/constants.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | // Must match collectorConfigKey in https://github.com/SigNoz/signoz-otel-collector/blob/main/opamp/config_manager.go 4 | const CollectorConfigFilename = "collector.yaml" 5 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/Timeline/constants.ts: -------------------------------------------------------------------------------- 1 | // setting to 25 hours because we want to display the horizontal graph when the user selects 'Last 1 day' from date and time selector 2 | export const HORIZONTAL_GRAPH_HOURS_THRESHOLD = 25; 3 | -------------------------------------------------------------------------------- /frontend/src/container/GridCardLayout/EmptyWidget/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | height: 100%; 5 | display: flex; 6 | justify-content: center; 7 | align-items: center; 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/container/LocalTopNav/styles.ts: -------------------------------------------------------------------------------- 1 | import { Row } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled(Row)` 5 | &&& { 6 | margin-top: 1rem; 7 | min-height: 8vh; 8 | } 9 | `; 10 | -------------------------------------------------------------------------------- /frontend/src/container/TraceDetail/SelectedSpanDetails/Tags/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | display: flex; 5 | gap: 0.5rem; 6 | flex-direction: column; 7 | width: 100%; 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/lib/uPlotLib/utils/getGridColor.ts: -------------------------------------------------------------------------------- 1 | const getGridColor = (isDarkMode: boolean): string => { 2 | if (isDarkMode) { 3 | return 'rgba(231,233,237,0.3)'; 4 | } 5 | return 'rgba(0,0,0,0.5)'; 6 | }; 7 | 8 | export default getGridColor; 9 | -------------------------------------------------------------------------------- /frontend/src/pages/ErrorDetails/utils.ts: -------------------------------------------------------------------------------- 1 | export const urlKey = { 2 | serviceName: 'serviceName', 3 | exceptionType: 'exceptionType', 4 | groupId: 'groupId', 5 | lastSeen: 'lastSeen', 6 | errorId: 'errorId', 7 | timestamp: 'timestamp', 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/periscope/components/BetaTag/BetaTag.tsx: -------------------------------------------------------------------------------- 1 | import { Tag } from 'antd'; 2 | 3 | export default function BetaTag(): JSX.Element { 4 | return ( 5 | 6 | Beta 7 | 8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/create.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from 'types/api/alerts/def'; 2 | 3 | export interface Props { 4 | data: AlertDef; 5 | } 6 | 7 | export interface PayloadProps { 8 | status: string; 9 | data: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/save.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from './def'; 2 | 3 | export type PayloadProps = { 4 | status: string; 5 | data: string; 6 | }; 7 | 8 | export interface Props { 9 | id?: number; 10 | data: AlertDef; 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createEmail.ts: -------------------------------------------------------------------------------- 1 | import { EmailChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = EmailChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createPager.ts: -------------------------------------------------------------------------------- 1 | import { PagerChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = PagerChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createSlack.ts: -------------------------------------------------------------------------------- 1 | import { SlackChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = SlackChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/utils/services.ts: -------------------------------------------------------------------------------- 1 | import { ServicesList } from 'types/api/metrics/getService'; 2 | 3 | export const getTotalRPS = (services: ServicesList[]): number => 4 | services.reduce((accumulator, service) => accumulator + service.callRate, 0); 5 | -------------------------------------------------------------------------------- /frontend/src/container/FormAlertChannels/styles.ts: -------------------------------------------------------------------------------- 1 | import { Button as ButtonComponent } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Button = styled(ButtonComponent)` 5 | &&& { 6 | margin-right: 1rem; 7 | } 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/RubyOnRails/md-docs/Windows/Recommended/ror-windows-recommended-runApplication.md: -------------------------------------------------------------------------------- 1 | ## Running your Ruby application** 2 | 3 | Run the application using the below: 4 | 5 | ```bash 6 | rails server 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/AddNewPipeline/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const FormLabelStyle = styled.span` 4 | font-size: 0.75rem; 5 | font-weight: 400; 6 | line-height: 1.25rem; 7 | `; 8 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/Preview/components/SampleLogs/styles.scss: -------------------------------------------------------------------------------- 1 | .sample-logs-notice-container { 2 | width: 100%; 3 | height: 100%; 4 | display: flex; 5 | justify-content: center; 6 | align-items: center; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createMsTeams.ts: -------------------------------------------------------------------------------- 1 | import { MsTeamsChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = MsTeamsChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createOpsgenie.ts: -------------------------------------------------------------------------------- 1 | import { OpsgenieChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = OpsgenieChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/createWebhook.ts: -------------------------------------------------------------------------------- 1 | import { WebhookChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export type Props = WebhookChannel; 4 | 5 | export interface PayloadProps { 6 | data: string; 7 | status: string; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Invite-link-validation-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Invite-link-validation-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/utils/pass.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "github.com/sethvargo/go-password/password" 5 | ) 6 | 7 | func GeneratePassowrd() string { 8 | res, _ := password.Generate(64, 10, 10, false, false) 9 | return res 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/api/browser/localstorage/remove.ts: -------------------------------------------------------------------------------- 1 | const remove = (key: string): boolean => { 2 | try { 3 | window.localStorage.removeItem(key); 4 | return true; 5 | } catch (e) { 6 | return false; 7 | } 8 | }; 9 | 10 | export default remove; 11 | -------------------------------------------------------------------------------- /frontend/src/components/TableRenderer/LabelColumn.styles.scss: -------------------------------------------------------------------------------- 1 | .label-column { 2 | 3 | display: flex; 4 | flex-wrap: wrap; 5 | 6 | .label-column--tag { 7 | white-space: normal; 8 | margin: 0.2rem 0.2rem; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerTable/LogsExplorerTable.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { QueryDataV3 } from 'types/api/widgets/getQuery'; 2 | 3 | export type LogsExplorerTableProps = { 4 | data: QueryDataV3[]; 5 | isLoading: boolean; 6 | isError: boolean; 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/Windows/QuickStart/swift-windows-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/mocks-server/__mockdata__/top_level_operations.ts: -------------------------------------------------------------------------------- 1 | import { ServiceDataProps } from 'api/metrics/getTopLevelOperations'; 2 | 3 | export const topLevelOperationSuccessResponse: ServiceDataProps = { 4 | TestApp: ['GET', 'GET frontpage'], 5 | }; 6 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/testAlert.ts: -------------------------------------------------------------------------------- 1 | import { AlertDef } from 'types/api/alerts/def'; 2 | 3 | export interface Props { 4 | data: AlertDef; 5 | } 6 | 7 | export interface PayloadProps { 8 | alertCount: number; 9 | message: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/getAll.ts: -------------------------------------------------------------------------------- 1 | export type PayloadProps = Channels[]; 2 | 3 | export interface Channels { 4 | created_at: string; 5 | data: string; 6 | id: string; 7 | name: string; 8 | type: string; 9 | updated_at: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/tests/service/index.spec.ts-snapshots/Service-Page-Serice-Page-is-rendered-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/service/index.spec.ts-snapshots/Service-Page-Serice-Page-is-rendered-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/config/doc.go: -------------------------------------------------------------------------------- 1 | // Package config provides the configuration management for the Signoz application. 2 | // It includes functionality to define, load, and validate the application's configuration 3 | // using various providers and formats. 4 | package config 5 | -------------------------------------------------------------------------------- /frontend/src/api/browser/localstorage/set.ts: -------------------------------------------------------------------------------- 1 | const set = (key: string, value: string): boolean => { 2 | try { 3 | localStorage.setItem(key, value); 4 | return true; 5 | } catch (e) { 6 | return false; 7 | } 8 | }; 9 | 10 | export default set; 11 | -------------------------------------------------------------------------------- /frontend/src/constants/env.ts: -------------------------------------------------------------------------------- 1 | export const ENVIRONMENT = { 2 | baseURL: 3 | process?.env?.FRONTEND_API_ENDPOINT || 4 | process?.env?.GITPOD_WORKSPACE_URL?.replace('://', '://8080-') || 5 | '', 6 | wsURL: process?.env?.WEBSOCKET_API_ENDPOINT || '', 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/container/CreateAlertRule/SelectAlertType/types.ts: -------------------------------------------------------------------------------- 1 | import { AlertTypes } from 'types/api/alerts/alertTypes'; 2 | 3 | export interface OptionType { 4 | title: string; 5 | selection: AlertTypes; 6 | description: string; 7 | isBeta?: boolean; 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerContext/types.ts: -------------------------------------------------------------------------------- 1 | import { MouseEventHandler } from 'react'; 2 | import { ILog } from 'types/api/logs/log'; 3 | 4 | export interface LogsExplorerContextProps { 5 | log: ILog; 6 | onClose: MouseEventHandler; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/LinuxAMD64/QuickStart/swift-linuxamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/LinuxARM64/QuickStart/swift-linuxarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/MacOsAMD64/QuickStart/swift-macosamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Swift/md-docs/MacOsARM64/QuickStart/swift-macosarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Swift application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | swift run 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/lib/getStartAndEndTime/getMicroSeconds.ts: -------------------------------------------------------------------------------- 1 | const getMicroSeconds = ({ time }: GetMicroSecondsProps): string => 2 | (time / 1000).toString(); 3 | 4 | interface GetMicroSecondsProps { 5 | time: number; 6 | } 7 | 8 | export default getMicroSeconds; 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/events/types.ts: -------------------------------------------------------------------------------- 1 | export interface EventSuccessPayloadProps { 2 | status: string; 3 | data: string; 4 | } 5 | 6 | export interface EventRequestPayloadProps { 7 | eventName: string; 8 | attributes: Record; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getOrganization.ts: -------------------------------------------------------------------------------- 1 | export interface Organization { 2 | createdAt: number; 3 | hasOptedUpdates: boolean; 4 | id: string; 5 | isAnonymous: boolean; 6 | name: string; 7 | } 8 | 9 | export type PayloadProps = Organization[]; 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getResetPasswordToken.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | export interface Props { 4 | userId: User['userId']; 5 | } 6 | 7 | export interface PayloadProps { 8 | token: string; 9 | userId: string; 10 | } 11 | -------------------------------------------------------------------------------- /pkg/version/version.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | // Build contains information about the build environment. 4 | type Build struct { 5 | // The name of the current build. 6 | Name string 7 | // The version of the current build. 8 | Version string 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/api/saveView/deleteView.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { DeleteViewPayloadProps } from 'types/api/saveViews/types'; 3 | 4 | export const deleteView = (uuid: string): Promise => 5 | axios.delete(`/explorer/views/${uuid}`); 6 | -------------------------------------------------------------------------------- /frontend/src/container/ListOfDashboard/TableComponents/styles.ts: -------------------------------------------------------------------------------- 1 | import { Typography } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const TableLinkText = styled(Typography.Text)` 5 | color: #4e74f8 !important; 6 | cursor: pointer; 7 | `; 8 | -------------------------------------------------------------------------------- /frontend/src/container/MetricsApplication/TopOperationsTable.styles.scss: -------------------------------------------------------------------------------- 1 | .top-operation { 2 | position: relative; 3 | .top-operation--download { 4 | position: absolute; 5 | top: 15px; 6 | right: 0px; 7 | z-index: 1; 8 | } 9 | } -------------------------------------------------------------------------------- /frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/QueryHeader.styles.scss: -------------------------------------------------------------------------------- 1 | .query-header-container { 2 | padding: 0px 8px 0px 16px; 3 | .action-btn { 4 | display: flex; 5 | align-items: center; 6 | justify-content: center; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Java/md-docs/Others/Windows/Recommended/others-windows-recommended-runApplication.md: -------------------------------------------------------------------------------- 1 | ## Run your application 2 | 3 |   4 | 5 | ```bash 6 | java -javaagent:/opentelemetry-javaagent.jar -jar {{MYAPP}}.jar 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/AzureMonitoring/AKS/aks-logs.md: -------------------------------------------------------------------------------- 1 | ## Prerequisite 2 | 3 | - An AKS cluster 4 | - Central Collector Setup 5 | 6 |   7 | 8 | Once you have setup the Central Collector, it will automatically start collecting your Logs. -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/AdditionalFiltersToggler/AdditionalFiltersToggler.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | export type AdditionalFiltersProps = { 4 | listOfAdditionalFilter: string[]; 5 | children: ReactNode; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/billing/checkout.ts: -------------------------------------------------------------------------------- 1 | export interface CheckoutSuccessPayloadProps { 2 | redirectURL: string; 3 | } 4 | 5 | export interface CheckoutRequestPayloadProps { 6 | licenseKey: string; 7 | successURL: string; 8 | cancelURL: string; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/types/api/queryBuilder/getAggregatorAttribute.ts: -------------------------------------------------------------------------------- 1 | import { DataSource } from 'types/common/queryBuilder'; 2 | 3 | export interface IGetAggregateAttributePayload { 4 | aggregateOperator: string; 5 | dataSource: DataSource; 6 | searchText: string; 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/loginPrecheck.ts: -------------------------------------------------------------------------------- 1 | export interface PayloadProps { 2 | sso: boolean; 3 | ssoUrl?: string; 4 | canSelfRegister?: boolean; 5 | isUser: boolean; 6 | } 7 | 8 | export interface Props { 9 | email: string; 10 | path?: string; 11 | } 12 | -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Email-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Email-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-name-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-name-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/src/container/LogsFilters/config.ts: -------------------------------------------------------------------------------- 1 | import { blue, red } from '@ant-design/colors'; 2 | 3 | export const RESTRICTED_SELECTED_FIELDS = ['timestamp', 'id']; 4 | 5 | export const ICON_STYLE = { 6 | PLUS: { color: blue[5] }, 7 | CLOSE: { color: red[5] }, 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/Formula/Limit/types.ts: -------------------------------------------------------------------------------- 1 | import { IBuilderFormula } from 'types/api/queryBuilder/queryBuilderData'; 2 | 3 | export interface LimitFilterProps { 4 | onChange: (values: number | null) => void; 5 | formula: IBuilderFormula; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/container/ResourceAttributesFilter/components/QueryChip/types.ts: -------------------------------------------------------------------------------- 1 | import { IResourceAttribute } from 'hooks/useResourceAttribute/types'; 2 | 3 | export interface IQueryChipProps { 4 | queryData: IResourceAttribute; 5 | onClose: (id: string) => void; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/hooks/useResourceAttribute/context.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | 3 | import { IResourceAttributeProps } from './types'; 4 | 5 | export const ResourceContext = createContext( 6 | {} as IResourceAttributeProps, 7 | ); 8 | -------------------------------------------------------------------------------- /frontend/src/lib/createIdFromObjectFields.ts: -------------------------------------------------------------------------------- 1 | import { idDivider } from 'constants/queryBuilder'; 2 | 3 | export const createIdFromObjectFields = ( 4 | obj: T, 5 | orderedKeys: K[], 6 | ): string => orderedKeys.map((key) => obj[key]).join(idDivider); 7 | -------------------------------------------------------------------------------- /frontend/src/pages/AlertDetails/AlertHeader/AlertState/AlertState.styles.scss: -------------------------------------------------------------------------------- 1 | .alert-state { 2 | display: flex; 3 | align-items: center; 4 | gap: 6px; 5 | &__label { 6 | font-size: 14px; 7 | line-height: 18px; 8 | letter-spacing: -0.07px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/pages/IntegrationsMarketPlace/IntegrationsMarketPlace.tsx: -------------------------------------------------------------------------------- 1 | function IntegrationsMarketPlace(): JSX.Element { 2 | return ( 3 |
4 |

IntegrationsMarketPlace

5 |
6 | ); 7 | } 8 | 9 | export default IntegrationsMarketPlace; 10 | -------------------------------------------------------------------------------- /frontend/src/pages/Logs/styles.ts: -------------------------------------------------------------------------------- 1 | import { Space } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | const SpaceContainer = styled(Space)` 5 | .ant-space-item:nth-child(1) { 6 | width: 100%; 7 | } 8 | `; 9 | 10 | export default SpaceContainer; 11 | -------------------------------------------------------------------------------- /frontend/src/pages/MetricsApplication/ApDex/__mock__/axiosResponseMockThresholdData.ts: -------------------------------------------------------------------------------- 1 | import { AxiosResponse } from 'axios'; 2 | 3 | export const axiosResponseThresholdData = { 4 | data: [ 5 | { 6 | threshold: 0.5, 7 | }, 8 | ], 9 | } as AxiosResponse; 10 | -------------------------------------------------------------------------------- /frontend/src/pages/TraceDetail/constants.ts: -------------------------------------------------------------------------------- 1 | export const SPAN_DETAILS_LEFT_COL_WIDTH = 350; 2 | 3 | export const noEventMessage = 4 | 'The requested trace id was not found. Sometimes this happens because of insertion delay in trace data. Please try again after some time'; 5 | -------------------------------------------------------------------------------- /frontend/src/types/api/errors/getByErrorId.ts: -------------------------------------------------------------------------------- 1 | import { PayloadProps as Prop } from './getByErrorTypeAndService'; 2 | 3 | export interface Props { 4 | groupID: string; 5 | errorID: string; 6 | timestamp: string; 7 | } 8 | 9 | export type PayloadProps = Prop; 10 | -------------------------------------------------------------------------------- /frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-have-a-valid-route-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-have-a-valid-route-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-User-Sign-up-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-User-Sign-up-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/src/api/APIKeys/getAllAPIKeys.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { AxiosResponse } from 'axios'; 3 | import { AllAPIKeyProps } from 'types/api/pat/types'; 4 | 5 | export const getAllAPIKeys = (): Promise> => 6 | axios.get(`/pats`); 7 | -------------------------------------------------------------------------------- /frontend/src/container/NewWidget/LeftContainer/QuerySection/QueryBuilder/promQL/types.ts: -------------------------------------------------------------------------------- 1 | import { IPromQLQuery } from 'types/api/queryBuilder/queryBuilderData'; 2 | 3 | export interface IPromQLQueryHandleChange { 4 | queryIndex: number | string; 5 | query: IPromQLQuery; 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/container/TracesExplorer/Controls/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | display: flex; 5 | align-items: center; 6 | justify-content: flex-end; 7 | gap: 0.3rem; 8 | margin: 8px 0; 9 | `; 10 | -------------------------------------------------------------------------------- /frontend/src/pages/LogsModulePage/utils.ts: -------------------------------------------------------------------------------- 1 | export const removeSourcePageFromPath = (path: string): string => { 2 | const lastSlashIndex = path.lastIndexOf('/'); 3 | if (lastSlashIndex !== -1) { 4 | return path.substring(0, lastSlashIndex); 5 | } 6 | return path; 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/pages/TracesExplorer/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | margin: 1rem 0; 5 | `; 6 | 7 | export const ActionsWrapper = styled.div` 8 | display: flex; 9 | justify-content: flex-end; 10 | `; 11 | -------------------------------------------------------------------------------- /frontend/src/components/Graph/helpers.ts: -------------------------------------------------------------------------------- 1 | import { themeColors } from 'constants/theme'; 2 | 3 | export const getAxisLabelColor = (currentTheme: string): string => { 4 | if (currentTheme === 'light') { 5 | return themeColors.black; 6 | } 7 | return themeColors.whiteCream; 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/container/EditRules/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const ButtonContainer = styled.div` 4 | &&& { 5 | display: flex; 6 | justify-content: flex-end; 7 | align-items: center; 8 | 9 | margin-top: 2rem; 10 | } 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/RubyOnRails/md-docs/Windows/QuickStart/ror-windows-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ## Running your Ruby application** 2 | 3 | Run the application using the below: 4 | 5 |   6 | 7 | ```bash 8 | rails server 9 | ``` 10 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/AzureMonitoring/AKS/aks-metrics.md: -------------------------------------------------------------------------------- 1 | ## Prerequisite 2 | 3 | - An AKS cluster 4 | - Central Collector Setup 5 | 6 |   7 | 8 | Once you have setup the Central Collector, it will automatically start sending your Metrics to SigNoz. -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/LogsManagement/Docker/md-docs/docker-startContainers.md: -------------------------------------------------------------------------------- 1 | ### Start the docker containers 2 | 3 | ```bash 4 | docker compose up -d 5 | ``` 6 | If there are no errors your logs will be exported and will be visible on the SigNoz UI. 7 | -------------------------------------------------------------------------------- /frontend/src/container/OrganizationSettings/PendingInvitesContainer/styles.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const TitleWrapper = styled.div` 4 | display: flex; 5 | flex-direction: row; 6 | justify-content: space-between; 7 | align-items: center; 8 | `; 9 | -------------------------------------------------------------------------------- /frontend/src/lib/logql/errors/InvalidQueryPair.ts: -------------------------------------------------------------------------------- 1 | export class ErrorInvalidQueryPair extends Error { 2 | constructor(message: string) { 3 | super(message); 4 | this.name = 'ErrorInvalidQueryPair'; 5 | Object.setPrototypeOf(this, ErrorInvalidQueryPair.prototype); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-have-a-valid-Breadcrumbs-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-have-a-valid-Breadcrumbs-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Company-name-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Company-name-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/errorDetails.json: -------------------------------------------------------------------------------- 1 | { 2 | "see_trace_graph": "See what happened before and after this error in a trace graph", 3 | "see_error_in_trace_graph": "See the error in trace graph", 4 | "stack_trace": "Stacktrace", 5 | "older": "Older", 6 | "newer": "Newer" 7 | } 8 | -------------------------------------------------------------------------------- /frontend/public/locales/en/trace.json: -------------------------------------------------------------------------------- 1 | { 2 | "options_menu": { 3 | "options": "Options", 4 | "format": "Format", 5 | "raw": "Raw", 6 | "default": "Default", 7 | "column": "Column", 8 | "maxLines": "Max lines per Row", 9 | "addColumn": "Add a column" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/container/Download/Download.types.ts: -------------------------------------------------------------------------------- 1 | export type DownloadOptions = { 2 | isDownloadEnabled: boolean; 3 | fileName: string; 4 | }; 5 | 6 | export type DownloadProps = { 7 | data: Record[]; 8 | isLoading?: boolean; 9 | fileName: string; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.styles.scss: -------------------------------------------------------------------------------- 1 | .general-settings-container { 2 | margin: 16px 8px; 3 | 4 | .ant-card-body { 5 | display: flex; 6 | align-items: center; 7 | gap: 16px; 8 | padding: 8px; 9 | margin: 16px 0; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/hooks/useFeatureFlag/index.ts: -------------------------------------------------------------------------------- 1 | import { MESSAGE } from './constant'; 2 | import useFeatureFlag from './useFeatureFlag'; 3 | import useIsFeatureDisabled from './useIsFeatureDisabled'; 4 | 5 | export default useFeatureFlag; 6 | 7 | export { MESSAGE, useIsFeatureDisabled }; 8 | -------------------------------------------------------------------------------- /frontend/src/lib/convertDateToAmAndPm.ts: -------------------------------------------------------------------------------- 1 | const convertDateToAmAndPm = (date: Date): string => 2 | date.toLocaleString('en-US', { 3 | hour: '2-digit', 4 | minute: 'numeric', 5 | second: 'numeric', 6 | hour12: true, 7 | }); 8 | 9 | export default convertDateToAmAndPm; 10 | -------------------------------------------------------------------------------- /frontend/src/lib/logql/errors/ConvertToFullText.ts: -------------------------------------------------------------------------------- 1 | export class ErrorConvertToFullText extends Error { 2 | constructor(message: string) { 3 | super(message); 4 | this.name = 'ErrorConvertToFullText'; 5 | Object.setPrototypeOf(this, ErrorConvertToFullText.prototype); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/mocks-server/server.ts: -------------------------------------------------------------------------------- 1 | // src/mocks/server.js 2 | import { setupServer } from 'msw/node'; 3 | 4 | import { handlers } from './handlers'; 5 | 6 | // This configures a request mocking server with the given request handlers. 7 | export const server = setupServer(...handlers); 8 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editEmail.ts: -------------------------------------------------------------------------------- 1 | import { EmailChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends EmailChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editPager.ts: -------------------------------------------------------------------------------- 1 | import { PagerChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends PagerChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editSlack.ts: -------------------------------------------------------------------------------- 1 | import { SlackChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends SlackChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/changeMyPassword.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | export interface Props { 4 | oldPassword: string; 5 | newPassword: string; 6 | userId: User['userId']; 7 | } 8 | 9 | export interface PayloadProps { 10 | data: string; 11 | } 12 | -------------------------------------------------------------------------------- /frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-data-in-antd-table-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-data-in-antd-table-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/getNextPrev/200.json: -------------------------------------------------------------------------------- 1 | { 2 | "nextErrorID": "", 3 | "nextTimestamp": "0001-01-01T00:00:00Z", 4 | "prevErrorID": "217133e5f7df429abd31b507859ea513", 5 | "prevTimestamp": "2022-07-14T10:29:48.950721Z", 6 | "groupID": "e24d35bda98c5499a5c8df3ba61b0238" 7 | } 8 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/trace.json: -------------------------------------------------------------------------------- 1 | { 2 | "options_menu": { 3 | "options": "Options", 4 | "format": "Format", 5 | "raw": "Raw", 6 | "default": "Default", 7 | "column": "Column", 8 | "maxLines": "Max lines per Row", 9 | "addColumn": "Add a column" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /frontend/sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.organization=signoz 2 | sonar.projectKey=SigNoz_signoz 3 | 4 | # relative paths to source directories. More details and properties are described 5 | # in https://sonarcloud.io/documentation/project-administration/narrowing-the-focus/ 6 | sonar.sources=./src -------------------------------------------------------------------------------- /frontend/src/container/DownloadV2/DownloadV2.types.ts: -------------------------------------------------------------------------------- 1 | export type DownloadOptions = { 2 | isDownloadEnabled: boolean; 3 | fileName: string; 4 | }; 5 | 6 | export type DownloadProps = { 7 | data: Record[]; 8 | isLoading?: boolean; 9 | fileName: string; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/patch.ts: -------------------------------------------------------------------------------- 1 | import { GettableAlert } from './get'; 2 | 3 | export type PayloadProps = GettableAlert; 4 | 5 | export interface PatchProps { 6 | disabled?: boolean; 7 | } 8 | 9 | export interface Props { 10 | id?: number; 11 | data: PatchProps; 12 | } 13 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/editUser.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | import { PayloadProps as Payload } from './getUser'; 4 | 5 | export type PayloadProps = Payload; 6 | 7 | export interface Props { 8 | userId: User['userId']; 9 | name: User['name']; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/assets/NotFound.tsx: -------------------------------------------------------------------------------- 1 | function NotFound(): JSX.Element { 2 | return ( 3 | not-found 11 | ); 12 | } 13 | 14 | export default NotFound; 15 | -------------------------------------------------------------------------------- /frontend/src/container/Controls/config.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from 'react'; 2 | 3 | export const ITEMS_PER_PAGE_OPTIONS = [25, 50, 100, 200]; 4 | 5 | export const DEFAULT_PER_PAGE_VALUE = 100; 6 | 7 | export const defaultSelectStyle: CSSProperties = { 8 | minWidth: '6rem', 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/LogDetailedView/BodyTitleRenderer.styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const TitleWrapper = styled.span` 4 | .hover-reveal { 5 | visibility: hidden; 6 | } 7 | 8 | &:hover .hover-reveal { 9 | visibility: visible; 10 | } 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/lib/removeJSONStringifyQuotes.ts: -------------------------------------------------------------------------------- 1 | export const removeJSONStringifyQuotes = (s: string): string => { 2 | if (!s || !s.length) { 3 | return s; 4 | } 5 | 6 | if (s[0] === '"' && s[s.length - 1] === '"') { 7 | return s.slice(1, s.length - 1); 8 | } 9 | return s; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/src/pages/EditRules/constants.ts: -------------------------------------------------------------------------------- 1 | export const returnToAlertsPage = 'Return to Alerts Page'; 2 | 3 | export const errorMessageReceivedFromBackend = 'sql: no rows in result set'; 4 | 5 | export const improvedErrorMessage = 6 | 'The Alert that you are trying to access does not exist.'; 7 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editMsTeams.ts: -------------------------------------------------------------------------------- 1 | import { MsTeamsChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends MsTeamsChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editOpsgenie.ts: -------------------------------------------------------------------------------- 1 | import { OpsgenieChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends OpsgenieChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/channels/editWebhook.ts: -------------------------------------------------------------------------------- 1 | import { WebhookChannel } from 'container/CreateAlertChannels/config'; 2 | 3 | export interface Props extends WebhookChannel { 4 | id: string; 5 | } 6 | 7 | export interface PayloadProps { 8 | data: string; 9 | status: string; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-the-page-with-404-status-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-the-page-with-404-status-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/login/index.spec.ts-snapshots/Login-Page-Version-of-the-application-when-api-returns-200-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/login/index.spec.ts-snapshots/Login-Page-Version-of-the-application-when-api-returns-200-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/src/container/LiveLogs/ListViewPanel/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Wrapper = styled.div` 4 | display: flex; 5 | align-items: center; 6 | gap: 1.5rem; 7 | `; 8 | 9 | export const SpinnerWrapper = styled.div` 10 | margin-left: auto; 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/QueryFunctions/utils.ts: -------------------------------------------------------------------------------- 1 | export const toFloat64 = (value: string): number => { 2 | const parsed = parseFloat(value); 3 | if (!Number.isFinite(parsed)) { 4 | console.error(`Invalid value for timeshift. value: ${value}`); 5 | } 6 | return parsed; 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/hooks/useDragColumns/types.ts: -------------------------------------------------------------------------------- 1 | import { ColumnsType } from 'antd/es/table'; 2 | 3 | export type UseDragColumns = { 4 | draggedColumns: ColumnsType; 5 | onDragColumns: ( 6 | columns: ColumnsType, 7 | fromIndex: number, 8 | toIndex: number, 9 | ) => void; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/tests/login/fail.spec.ts-snapshots/Version-API-fail-while-loading-login-page-Something-went-wrong-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/login/fail.spec.ts-snapshots/Version-API-fail-while-loading-login-page-Something-went-wrong-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/agentConf/Readme.md: -------------------------------------------------------------------------------- 1 | # Versioned config for agent based features. 2 | 3 | Responsibilities 4 | - Maintain versioned config for registered agent based features like log pipelines etc. 5 | - Provide a combined `AgentConfigProvider` for the opamp server to consume when managing agents 6 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/common.json: -------------------------------------------------------------------------------- 1 | { 2 | "something_went_wrong": "Something went wrong", 3 | "already_logged_in": "Already Logged In", 4 | "success": "Success", 5 | "cancel": "Cancel", 6 | "share": "Share", 7 | "save": "Save", 8 | "edit": "Edit", 9 | "logged_in": "Logged In" 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/container/AppLayout/utils.ts: -------------------------------------------------------------------------------- 1 | import ROUTES from 'constants/routes'; 2 | 3 | export function getRouteKey(pathname: string): string { 4 | const [routeKey] = Object.entries(ROUTES).find( 5 | ([, value]) => value === pathname, 6 | ) || ['DEFAULT']; 7 | 8 | return routeKey; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/container/GridTableComponent/config.ts: -------------------------------------------------------------------------------- 1 | import { TableProps } from 'antd'; 2 | import { RowData } from 'lib/query/createTableColumnsFromQuery'; 3 | 4 | export const GRID_TABLE_CONFIG: Omit< 5 | TableProps, 6 | 'columns' | 'dataSource' 7 | > = { 8 | size: 'small', 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/LogsAggregate/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled(Card)` 5 | position: relative; 6 | margin: 0.5rem 0; 7 | .ant-card-body { 8 | height: 20vh; 9 | min-height: 200px; 10 | } 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/Windows/QuickStart/angular-windows-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done instrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   -------------------------------------------------------------------------------- /frontend/src/lib/logs/fieldSearch.ts: -------------------------------------------------------------------------------- 1 | export const fieldSearchFilter = ( 2 | searchSpace = '', 3 | currentValue = '', 4 | ): boolean => { 5 | if (!currentValue || !searchSpace) { 6 | return true; 7 | } 8 | return searchSpace.toLowerCase().indexOf(currentValue.toLowerCase()) !== -1; 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/typings/window.ts: -------------------------------------------------------------------------------- 1 | import { compose, Store } from 'redux'; 2 | 3 | declare global { 4 | interface Window { 5 | store: Store; 6 | Intercom: any; 7 | analytics: Record; 8 | __REDUX_DEVTOOLS_EXTENSION_COMPOSE__: typeof compose; 9 | } 10 | } 11 | 12 | export {}; 13 | -------------------------------------------------------------------------------- /frontend/src/components/TimePreferenceDropDown/config.tsx: -------------------------------------------------------------------------------- 1 | import { Typography } from 'antd'; 2 | import { timeItems } from 'container/NewWidget/RightContainer/timeItems'; 3 | 4 | export const menuItems = timeItems.map((item) => ({ 5 | key: item.enum, 6 | label: {item.name}, 7 | })); 8 | -------------------------------------------------------------------------------- /frontend/src/container/AllError/constant.ts: -------------------------------------------------------------------------------- 1 | const DEFAULT_FILTER_VALUE = ''; 2 | const EXCEPTION_TYPE_FILTER_NAME = 'exceptionType'; 3 | const SERVICE_NAME_FILTER_NAME = 'serviceName'; 4 | 5 | export { 6 | DEFAULT_FILTER_VALUE, 7 | EXCEPTION_TYPE_FILTER_NAME, 8 | SERVICE_NAME_FILTER_NAME, 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/GoLang/md-docs/Kubernetes/golang-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | To run your Go Gin application, use the below command : 4 | 5 | ```bash 6 | SERVICE_NAME={{MYAPP}} INSECURE_MODE=true OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317 go run main.go 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/LinuxAMD64/QuickStart/angular-linuxamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done instrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/LinuxARM64/QuickStart/angular-linuxarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done instrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/MacOsAMD64/QuickStart/angular-macosamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done instrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/MacOsARM64/QuickStart/angular-macosarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done instrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/HavingFilter/HavingFilter.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { Having, IBuilderQuery } from 'types/api/queryBuilder/queryBuilderData'; 2 | 3 | export type HavingFilterProps = { 4 | entityVersion: string; 5 | query: IBuilderQuery; 6 | onChange: (having: Having[]) => void; 7 | }; 8 | -------------------------------------------------------------------------------- /frontend/src/container/SideNav/helper.ts: -------------------------------------------------------------------------------- 1 | export const getQueryString = ( 2 | availableParams: string[], 3 | params: URLSearchParams, 4 | ): string[] => 5 | availableParams.map((param) => { 6 | if (params.has(param)) { 7 | return `${param}=${params.get(param)}`; 8 | } 9 | return ''; 10 | }); 11 | -------------------------------------------------------------------------------- /frontend/src/modules/Usage/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card as CardComponent } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Card = styled(CardComponent)` 5 | &&& { 6 | width: 90%; 7 | margin-top: 2rem; 8 | } 9 | 10 | .ant-card-body { 11 | height: 70vh; 12 | } 13 | `; 14 | -------------------------------------------------------------------------------- /frontend/src/pages/GettingStarted/types.ts: -------------------------------------------------------------------------------- 1 | export type TGetStartedContentDoc = { 2 | title: string; 3 | icon: JSX.Element; 4 | url: string; 5 | }; 6 | export type TGetStartedContentSection = { 7 | heading: string; 8 | description?: string | JSX.Element; 9 | items: TGetStartedContentDoc[]; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/setFlags.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | 3 | export interface UserFlags { 4 | ReleaseNote0120Hide?: string; 5 | } 6 | 7 | export type PayloadProps = UserFlags; 8 | 9 | export interface Props { 10 | userId: User['userId']; 11 | flags: UserFlags; 12 | } 13 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/traces/attributeKeys200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": { 4 | "attributeKeys": [ 5 | { 6 | "key": "serviceName", 7 | "dataType": "string", 8 | "type": "tag", 9 | "isColumn": true, 10 | "isJSON": false 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /frontend/public/locales/en/ingestionKeys.json: -------------------------------------------------------------------------------- 1 | { 2 | "delete_confirm_message": "Are you sure you want to delete {{keyName}}? Deleting an ingestion key is irreversible and cannot be undone.", 3 | "delete_limit_confirm_message": "Are you sure you want to delete {{limit_name}} limit for ingestion key {{keyName}}?" 4 | } 5 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Javascript/md-docs/Angular/Kubernetes/angular-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | Once you are done intrumenting your Angular application, you can run it using the below command 4 | 5 | ```bash 6 | ng serve 7 | ``` 8 | 9 |   10 | 11 | 12 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/LinuxAMD64/QuickStart/rust-linuxamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Rust application 2 | 3 | Since your variables are set in the `.env` file, you can run your Rust application using the below command: 4 | 5 | ```bash 6 | cargo run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/LinuxARM64/QuickStart/rust-linuxarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Rust application 2 | 3 | Since your variables are set in the `.env` file, you can run your Rust application using the below command: 4 | 5 | ```bash 6 | cargo run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/MacOsAMD64/QuickStart/rust-macosamd64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Rust application 2 | 3 | Since your variables are set in the `.env` file, you can run your Rust application using the below command: 4 | 5 | ```bash 6 | cargo run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/MacOsARM64/QuickStart/rust-macosarm64-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Rust application 2 | 3 | Since your variables are set in the `.env` file, you can run your Rust application using the below command: 4 | 5 | ```bash 6 | cargo run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/TableComponents/PipelineFilterSummary/styles.scss: -------------------------------------------------------------------------------- 1 | .pipeline-filter-preview-condition { 2 | padding: 0 0.2em; 3 | } 4 | 5 | .pipeline-filter-preview-container { 6 | display: flex; 7 | flex-wrap: wrap; 8 | gap: 0.4em; 9 | font-size: 0.75rem; 10 | } 11 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/BuilderUnitsFilter/utils.ts: -------------------------------------------------------------------------------- 1 | import { DefaultOptionType } from 'antd/es/select'; 2 | 3 | export const filterOption = ( 4 | inputValue: string, 5 | option: DefaultOptionType['options'][number], 6 | ): boolean => option.label.toLowerCase().includes(inputValue.toLowerCase()); 7 | -------------------------------------------------------------------------------- /frontend/src/typings/environment.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-namespace */ 2 | declare global { 3 | namespace NodeJS { 4 | interface ProcessEnv { 5 | FRONTEND_API_ENDPOINT: string | undefined; 6 | WEBSOCKET_API_ENDPOINT: string | undefined; 7 | } 8 | } 9 | } 10 | 11 | export {}; 12 | -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Empty-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/redis/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor Redis with SigNoz 2 | 3 | Collect key Redis metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse Redis logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | -------------------------------------------------------------------------------- /e2e/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "e2e", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "devDependencies": { 7 | "@playwright/test": "^1.22.0", 8 | "@types/node": "^20.9.2" 9 | }, 10 | "scripts": {}, 11 | "dependencies": { 12 | "dotenv": "8.2.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/components/Logs/AddToQueryHOC.styles.scss: -------------------------------------------------------------------------------- 1 | .addToQueryContainer { 2 | cursor: pointer; 3 | display: flex; 4 | align-items: center; 5 | &.small { 6 | line-height: 16px; 7 | } 8 | 9 | &.medium { 10 | line-height: 20px; 11 | } 12 | 13 | &.large { 14 | line-height: 24px; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/src/types/api/settings/setRetention.ts: -------------------------------------------------------------------------------- 1 | import { TTTLType } from './common'; 2 | 3 | export interface Props { 4 | type: TTTLType; 5 | totalDuration: string; 6 | coldStorage?: 's3' | null; 7 | toColdDuration?: string; 8 | } 9 | 10 | export interface PayloadProps { 11 | success: 'message'; 12 | } 13 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getUserRole.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | import { ROLES } from 'types/roles'; 3 | 4 | export interface Props { 5 | userId: User['userId']; 6 | token?: string; 7 | } 8 | 9 | export interface PayloadProps { 10 | group_name: ROLES; 11 | user_id: string; 12 | } 13 | -------------------------------------------------------------------------------- /frontend/tests/expectionDetails/index.spec.ts-snapshots/Expections-Details-Should-have-not-found-when-api-return-404-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expectionDetails/index.spec.ts-snapshots/Expections-Details-Should-have-not-found-when-api-return-404-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/traces/attributeKeysServiceName200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": { 4 | "attributeKeys": [ 5 | { 6 | "key": "serviceName", 7 | "dataType": "string", 8 | "type": "tag", 9 | "isColumn": true, 10 | "isJSON": false 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/api/Integrations/getAllIntegrations.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { AxiosResponse } from 'axios'; 3 | import { AllIntegrationsProps } from 'types/api/integrations/types'; 4 | 5 | export const getAllIntegrations = (): Promise< 6 | AxiosResponse 7 | > => axios.get(`/integrations`); 8 | -------------------------------------------------------------------------------- /frontend/src/components/ResizeTable/contants.ts: -------------------------------------------------------------------------------- 1 | export const TableDataSource = { 2 | Alert: 'alert', 3 | Dashboard: 'dashboard', 4 | } as const; 5 | 6 | export const DynamicColumnsKey = { 7 | CreatedAt: 'createdAt', 8 | CreatedBy: 'createdBy', 9 | UpdatedAt: 'updatedAt', 10 | UpdatedBy: 'updatedBy', 11 | }; 12 | -------------------------------------------------------------------------------- /frontend/src/container/GridCardLayout/utils.ts: -------------------------------------------------------------------------------- 1 | import { Layout } from 'react-grid-layout'; 2 | 3 | export const removeUndefinedValuesFromLayout = (layout: Layout[]): Layout[] => 4 | layout.map((obj) => 5 | Object.fromEntries( 6 | Object.entries(obj).filter(([, value]) => value !== undefined), 7 | ), 8 | ) as Layout[]; 9 | -------------------------------------------------------------------------------- /frontend/src/container/MySettings/styles.ts: -------------------------------------------------------------------------------- 1 | import { Input } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Password = styled(Input.Password)` 5 | &&& { 6 | width: 20rem; 7 | } 8 | `; 9 | 10 | export const NameInput = styled(Input)` 11 | &&& { 12 | width: 20rem; 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/traces/attributeKeysDurationNano200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": { 4 | "attributeKeys": [ 5 | { 6 | "key": "durationNano", 7 | "dataType": "float64", 8 | "type": "tag", 9 | "isColumn": true, 10 | "isJSON": false 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Miss-Match-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-Miss-Match-Password-and-confirm-password-with-valid-details-1-Signoz-darwin.png -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/Statistics/TopContributorsCard/types.ts: -------------------------------------------------------------------------------- 1 | import { AlertRuleStats, AlertRuleTopContributors } from 'types/api/alerts/def'; 2 | 3 | export type TopContributorsCardProps = { 4 | topContributorsData: AlertRuleTopContributors[]; 5 | totalCurrentTriggers: AlertRuleStats['totalCurrentTriggers']; 6 | }; 7 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerChart/LogsExplorerChart.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { QueryData } from 'types/api/widgets/getQuery'; 2 | 3 | export type LogsExplorerChartProps = { 4 | data: QueryData[]; 5 | isLoading: boolean; 6 | isLogsExplorerViews?: boolean; 7 | isLabelEnabled?: boolean; 8 | className?: string; 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Rust/md-docs/Kubernetes/rust-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Rust application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 OTEL_RESOURCE_ATTRIBUTES=service.name={{MYAPP}} cargo run 7 | ``` -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/Layouts/ChangeHistory/DeploymentTime.tsx: -------------------------------------------------------------------------------- 1 | import dayjs from 'dayjs'; 2 | 3 | function DeploymentTime(deployTime: string): JSX.Element { 4 | return ( 5 | {dayjs(deployTime).locale('en').format('MMMM DD, YYYY hh:mm A')} 6 | ); 7 | } 8 | 9 | export default DeploymentTime; 10 | -------------------------------------------------------------------------------- /frontend/src/hooks/usePreviousValue.ts: -------------------------------------------------------------------------------- 1 | import { useEffect, useRef } from 'react'; 2 | 3 | function usePreviousValue(value: T): T { 4 | const ref = useRef(); 5 | 6 | useEffect(() => { 7 | ref.current = value; 8 | }, [value]); 9 | 10 | return ref.current as T; 11 | } 12 | 13 | export default usePreviousValue; 14 | -------------------------------------------------------------------------------- /frontend/src/hooks/useUrlQuery.ts: -------------------------------------------------------------------------------- 1 | import { useMemo } from 'react'; 2 | import { useLocation } from 'react-router-dom'; 3 | 4 | function useUrlQuery(): URLSearchParams { 5 | const { search } = useLocation(); 6 | 7 | return useMemo(() => new URLSearchParams(search), [search]); 8 | } 9 | 10 | export default useUrlQuery; 11 | -------------------------------------------------------------------------------- /frontend/src/lib/getStartAndEndTime/getMinAgo.ts: -------------------------------------------------------------------------------- 1 | const getMinAgo = ({ minutes }: GetMinAgoProps): Date => { 2 | const currentDate = new Date(); 3 | 4 | return new Date(currentDate.getTime() - minutes * 60000); 5 | }; 6 | 7 | interface GetMinAgoProps { 8 | minutes: number; 9 | } 10 | 11 | export default getMinAgo; 12 | -------------------------------------------------------------------------------- /frontend/src/pages/OrgOnboarding/OrgOnboarding.tsx: -------------------------------------------------------------------------------- 1 | import OnboardingQuestionaire from 'container/OnboardingQuestionaire'; 2 | 3 | function OrgOnboarding(): JSX.Element { 4 | return ( 5 |
6 | 7 |
8 | ); 9 | } 10 | 11 | export default OrgOnboarding; 12 | -------------------------------------------------------------------------------- /frontend/src/types/api/errors/getNextPrevId.ts: -------------------------------------------------------------------------------- 1 | export type Props = { 2 | errorID: string; 3 | timestamp: string; 4 | groupID: string; 5 | }; 6 | 7 | export type PayloadProps = { 8 | prevErrorID: string; 9 | nextErrorID: string; 10 | groupID: string; 11 | nextTimestamp: string; 12 | prevTimestamp: string; 13 | }; 14 | -------------------------------------------------------------------------------- /frontend/src/types/api/features/getFeaturesFlags.ts: -------------------------------------------------------------------------------- 1 | import { FeatureKeys } from 'constants/features'; 2 | 3 | export interface FeatureFlagProps { 4 | name: FeatureKeys; 5 | active: boolean; 6 | usage: number; 7 | usage_limit: number; 8 | route: string; 9 | } 10 | 11 | export type PayloadProps = FeatureFlagProps[]; 12 | -------------------------------------------------------------------------------- /frontend/src/types/api/licenses/getAll.ts: -------------------------------------------------------------------------------- 1 | import { License } from './def'; 2 | 3 | export type PayloadProps = { 4 | trialStart: number; 5 | trialEnd: number; 6 | onTrial: boolean; 7 | workSpaceBlock: boolean; 8 | trialConvertedToSubscription: boolean; 9 | gracePeriodEnd: number; 10 | licenses: License[]; 11 | }; 12 | -------------------------------------------------------------------------------- /frontend/tests/expectionDetails/index.spec.ts-snapshots/Expections-Details-Render-Success-Data-when-200-from-details-page-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expectionDetails/index.spec.ts-snapshots/Expections-Details-Render-Success-Data-when-200-from-details-page-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/mongo/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor MongoDB with SigNoz 2 | 3 | Collect key MongoDB metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse MongoDB logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | 7 | -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/postgres/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor Postgres with SigNoz 2 | 3 | Collect key Postgres metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse Postgres logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | -------------------------------------------------------------------------------- /pkg/query-service/utils/random.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "crypto/rand" 5 | "encoding/hex" 6 | ) 7 | 8 | func RandomHex(sz int) (string, error) { 9 | bytes := make([]byte, sz) 10 | if _, err := rand.Read(bytes); err != nil { 11 | return "", err 12 | } 13 | return hex.EncodeToString(bytes), nil 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/api/dashboard/getAll.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { ApiResponse } from 'types/api'; 3 | import { Dashboard } from 'types/api/dashboard/getAll'; 4 | 5 | export const getAllDashboardList = (): Promise => 6 | axios 7 | .get>('/dashboards') 8 | .then((res) => res.data.data); 9 | -------------------------------------------------------------------------------- /frontend/src/components/LogDetail/QueryBuilderSearchWrapper.styles.scss: -------------------------------------------------------------------------------- 1 | .query-builder-search-wrapper { 2 | margin-top: 10px; 3 | border: 1px solid var(--bg-slate-400); 4 | border-bottom: none; 5 | 6 | .ant-select-selector { 7 | border: none !important; 8 | 9 | input { 10 | font-size: 12px; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /frontend/src/container/ExplorerControlPanel/ExplorerControlPanel.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { OptionsMenuConfig } from 'container/OptionsMenu/types'; 2 | 3 | export type ExplorerControlPanelProps = { 4 | selectedOptionFormat: string; 5 | isShowPageSize: boolean; 6 | isLoading: boolean; 7 | optionsMenuConfig?: OptionsMenuConfig; 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/container/GridCardLayout/GridCard/__mock__/mockLegendEntryData.ts: -------------------------------------------------------------------------------- 1 | import { LegendEntryProps } from '../FullView/types'; 2 | 3 | export const mocklegendEntryResult: LegendEntryProps[] = [ 4 | { 5 | label: 'customer', 6 | show: true, 7 | }, 8 | { 9 | label: 'demo-app', 10 | show: false, 11 | }, 12 | ]; 13 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/PipelineListsView/AddNewPipeline/utils.tsx: -------------------------------------------------------------------------------- 1 | import { pipelineFields } from '../config'; 2 | 3 | export const renderPipelineForm = (): Array => 4 | pipelineFields.map((field) => { 5 | const Component = field.component; 6 | return ; 7 | }); 8 | -------------------------------------------------------------------------------- /frontend/src/lib/createQueryParams.ts: -------------------------------------------------------------------------------- 1 | const createQueryParams = (params: { 2 | [x: string]: string | number | undefined; 3 | }): string => 4 | Object.keys(params) 5 | .map( 6 | (k) => `${encodeURIComponent(k)}=${encodeURIComponent(String(params[k]))}`, 7 | ) 8 | .join('&'); 9 | 10 | export default createQueryParams; 11 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/getLogs.ts: -------------------------------------------------------------------------------- 1 | import { ILog } from './log'; 2 | 3 | export type PayloadProps = ILog[]; 4 | export type Props = { 5 | q: string; 6 | limit: number; 7 | orderBy: string; 8 | order: string; 9 | idGt?: string; 10 | idLt?: string; 11 | timestampStart?: number; 12 | timestampEnd?: number; 13 | }; 14 | -------------------------------------------------------------------------------- /frontend/tests/fixtures/api/traces/attributeKeysResponseStatusCode200.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "success", 3 | "data": { 4 | "attributeKeys": [ 5 | { 6 | "key": "responseStatusCode", 7 | "dataType": "string", 8 | "type": "tag", 9 | "isColumn": true, 10 | "isJSON": false 11 | } 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /e2e/tests/contants.ts: -------------------------------------------------------------------------------- 1 | export const SERVICE_TABLE_HEADERS = { 2 | APPLICATION: "Applicaton", 3 | P99LATENCY: "P99 latency (in ms)", 4 | ERROR_RATE: "Error Rate (% of total)", 5 | OPS_PER_SECOND: "Operations Per Second", 6 | }; 7 | 8 | export const DATA_TEST_IDS = { 9 | NEW_DASHBOARD_BTN: "create-new-dashboard", 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/public/locales/en/onboarding.json: -------------------------------------------------------------------------------- 1 | { 2 | "invite_user": "Invite your teammates", 3 | "invite": "Invite", 4 | "skip": "Skip", 5 | "invite_user_helper_text": "Not the right person to get started? No worries! Invite someone who can.", 6 | "select_use_case": "Select a use-case to get started", 7 | "get_started": "Get Started" 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/logs/getLogsAggregate.ts: -------------------------------------------------------------------------------- 1 | export type PayloadProps = Record< 2 | string, 3 | { 4 | timestamp: number; 5 | value: number; 6 | } 7 | >; 8 | export type Props = { 9 | timestampStart: number; 10 | timestampEnd: number; 11 | step: number; 12 | q?: string; 13 | idGt?: string; 14 | idLt?: string; 15 | }; 16 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/setInvite.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | import { ROLES } from 'types/roles'; 3 | 4 | export interface Props { 5 | name: User['name']; 6 | email: User['email']; 7 | role: ROLES; 8 | frontendBaseUrl: string; 9 | } 10 | 11 | export interface PayloadProps { 12 | data: string; 13 | } 14 | -------------------------------------------------------------------------------- /frontend/public/locales/en-GB/onboarding.json: -------------------------------------------------------------------------------- 1 | { 2 | "invite_user": "Invite your teammates", 3 | "invite": "Invite", 4 | "skip": "Skip", 5 | "invite_user_helper_text": "Not the right person to get started? No worries! Invite someone who can.", 6 | "select_use_case": "Select a use-case to get started", 7 | "get_started": "Get Started" 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/container/NewDashboard/DashboardSettings/Variables/VariableItem/styles.ts: -------------------------------------------------------------------------------- 1 | import { Row } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const VariableItemRow = styled(Row)` 5 | gap: 1rem; 6 | margin-bottom: 1rem; 7 | `; 8 | 9 | export const LabelContainer = styled.div` 10 | width: 200px; 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/BuilderUnitsFilter/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const selectStyles: React.CSSProperties = { 4 | minWidth: '10rem', 5 | }; 6 | 7 | export const DefaultLabel = styled.label` 8 | display: inline-block; 9 | font-size: 1rem; 10 | line-height: 2rem; 11 | `; 12 | -------------------------------------------------------------------------------- /frontend/src/container/QueryTable/QueryTable.styles.scss: -------------------------------------------------------------------------------- 1 | .query-table { 2 | position: relative; 3 | height: inherit; 4 | .query-table--download { 5 | position: absolute; 6 | top: 15px; 7 | right: 0px; 8 | z-index: 1; 9 | } 10 | 11 | .ant-table { 12 | &::-webkit-scrollbar { 13 | width: 0.1rem; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/src/hooks/queryBuilder/useQueryBuilder.ts: -------------------------------------------------------------------------------- 1 | import { QueryBuilderContext } from 'providers/QueryBuilder'; 2 | import { useContext } from 'react'; 3 | import { QueryBuilderContextType } from 'types/common/queryBuilder'; 4 | 5 | export function useQueryBuilder(): QueryBuilderContextType { 6 | return useContext(QueryBuilderContext); 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/container/NewWidget/RightContainer/Threshold/ShowCaseValue.styles.scss: -------------------------------------------------------------------------------- 1 | .show-case-container { 2 | padding: 5px 15px; 3 | display: inline-block; 4 | } 5 | 6 | .show-case-dark { 7 | background-color: #141414; 8 | } 9 | 10 | .show-case-light { 11 | background-color: rgb(255, 255, 255); 12 | border: 1px solid #141414; 13 | } 14 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/InfrastructureMonitoring/KubernetesInfraMetrics/md-docs/kubernetes-plotMetrics.md: -------------------------------------------------------------------------------- 1 | ### Plot Metrics in SigNoz Cloud 2 | 3 | You can follow the instructions [here](https://signoz.io/docs/tutorial/kubernetes-infra-metrics/#plot-metrics-in-signoz-ui) to create a metrics dashboard to see you metrics. 4 | 5 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/DataSourceDropdown/DataSourceDropdown.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { SelectProps } from 'antd'; 2 | import { DataSource } from 'types/common/queryBuilder'; 3 | 4 | export type QueryLabelProps = { 5 | onChange: (value: DataSource) => void; 6 | isListViewPanel?: boolean; 7 | } & Omit; 8 | -------------------------------------------------------------------------------- /frontend/src/container/TopNav/AutoRefresh/styles.ts: -------------------------------------------------------------------------------- 1 | import { Button } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled.div` 5 | min-width: 8rem; 6 | `; 7 | 8 | export const ButtonContainer = styled(Button)` 9 | &&& { 10 | padding-left: 0.5rem; 11 | padding-right: 0.5rem; 12 | } 13 | `; 14 | -------------------------------------------------------------------------------- /frontend/src/lib/JSXtoHTML.ts: -------------------------------------------------------------------------------- 1 | import { renderToString } from 'react-dom/server'; 2 | 3 | function JSXtoHTML(str: JSX.Element): HTMLElement { 4 | const parser = new DOMParser(); 5 | const doc = parser.parseFromString(renderToString(str), 'text/html'); 6 | return doc.body.firstChild as HTMLElement; 7 | } 8 | 9 | export default JSXtoHTML; 10 | -------------------------------------------------------------------------------- /frontend/src/pages/ErrorBoundaryFallback/ErrorBoundaryFallback.styles.scss: -------------------------------------------------------------------------------- 1 | .error-boundary-fallback-container { 2 | width: 100%; 3 | 4 | .actionBtn { 5 | display: flex; 6 | align-items: center; 7 | gap: 4px; 8 | } 9 | 10 | .title, 11 | .actions { 12 | display: flex; 13 | align-items: center; 14 | gap: 8px; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/login.ts: -------------------------------------------------------------------------------- 1 | export interface PayloadProps { 2 | accessJwt: string; 3 | accessJwtExpiry: number; 4 | refreshJwt: string; 5 | refreshJwtExpiry: number; 6 | userId: string; 7 | } 8 | 9 | export interface Props { 10 | email?: string; 11 | password?: string; 12 | refreshToken?: PayloadProps['refreshJwt']; 13 | } 14 | -------------------------------------------------------------------------------- /ee/query-service/interfaces/connector.go: -------------------------------------------------------------------------------- 1 | package interfaces 2 | 3 | import ( 4 | baseint "go.signoz.io/signoz/pkg/query-service/interfaces" 5 | ) 6 | 7 | // Connector defines methods for interaction 8 | // with o11y data. for example - clickhouse 9 | type DataConnector interface { 10 | Start(readerReady chan bool) 11 | baseint.Reader 12 | } 13 | -------------------------------------------------------------------------------- /frontend/src/container/LogsSearchFilter/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const DropDownContainer = styled(Card)` 5 | .ant-card-body { 6 | width: 100%; 7 | } 8 | `; 9 | 10 | export const Container = styled.div` 11 | width: 100%; 12 | flex: 1; 13 | position: relative; 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Php/md-docs/Windows/QuickStart/php-windows-quickStart-runApplication.md: -------------------------------------------------------------------------------- 1 | **Set environment variables and run app** 2 | 3 | Run application using your run command or the following generalized command (depending on framework you are using): 4 | 5 | ```bash 6 | php -S localhost:8080 app.php 7 | ``` 8 | -------------------------------------------------------------------------------- /frontend/src/container/PipelinePage/tests/__snapshots__/AddNewProcessor.test.tsx.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`PipelinePage container test should render AddNewPipeline section 1`] = ``; 4 | 5 | exports[`PipelinePage container test should render AddNewProcessor section 1`] = ``; 6 | -------------------------------------------------------------------------------- /frontend/src/container/ServiceTable/styles.ts: -------------------------------------------------------------------------------- 1 | import { Typography } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled.div` 5 | margin-top: 2rem; 6 | `; 7 | 8 | export const Name = styled(Typography)` 9 | &&& { 10 | font-weight: 600; 11 | color: #4e74f8; 12 | cursor: pointer; 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/container/TopNav/AutoRefreshV2/styles.ts: -------------------------------------------------------------------------------- 1 | import { Button } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled.div` 5 | min-width: 8rem; 6 | `; 7 | 8 | export const ButtonContainer = styled(Button)` 9 | &&& { 10 | padding-left: 0.5rem; 11 | padding-right: 0.5rem; 12 | } 13 | `; 14 | -------------------------------------------------------------------------------- /frontend/src/container/TracesExplorer/TracesView/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const Container = styled.div` 4 | display: flex; 5 | flex-direction: column; 6 | `; 7 | 8 | export const ActionsContainer = styled.div` 9 | display: flex; 10 | justify-content: space-between; 11 | align-items: center; 12 | `; 13 | -------------------------------------------------------------------------------- /frontend/src/types/api/user/getPendingInvites.ts: -------------------------------------------------------------------------------- 1 | import { User } from 'types/reducer/app'; 2 | import { ROLES } from 'types/roles'; 3 | 4 | export interface PendingInvite { 5 | createdAt: number; 6 | email: User['email']; 7 | name: User['name']; 8 | role: ROLES; 9 | token: string; 10 | } 11 | 12 | export type PayloadProps = PendingInvite[]; 13 | -------------------------------------------------------------------------------- /.github/workflows/commitlint.yml: -------------------------------------------------------------------------------- 1 | name: commitlint 2 | on: [pull_request] 3 | defaults: 4 | run: 5 | working-directory: frontend 6 | jobs: 7 | lint-commits: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | - uses: wagoid/commitlint-github-action@v5 14 | -------------------------------------------------------------------------------- /frontend/src/api/dashboard/lockDashboard.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { AxiosResponse } from 'axios'; 3 | 4 | interface LockDashboardProps { 5 | uuid: string; 6 | } 7 | 8 | const lockDashboard = (props: LockDashboardProps): Promise => 9 | axios.put(`/dashboards/${props.uuid}/lock`); 10 | 11 | export default lockDashboard; 12 | -------------------------------------------------------------------------------- /frontend/src/container/ServiceApplication/styles.ts: -------------------------------------------------------------------------------- 1 | import { Typography } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled.div` 5 | margin-top: 2rem; 6 | `; 7 | 8 | export const Name = styled(Typography)` 9 | &&& { 10 | font-weight: 600; 11 | color: #4e74f8; 12 | cursor: pointer; 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/hooks/useResourceAttribute/index.ts: -------------------------------------------------------------------------------- 1 | import ResourceProvider from './ResourceProvider'; 2 | import useResourceAttribute from './useResourceAttribute'; 3 | import { convertMetricKeyToTrace, isResourceEmpty } from './utils'; 4 | 5 | export default useResourceAttribute; 6 | 7 | export { convertMetricKeyToTrace, isResourceEmpty, ResourceProvider }; 8 | -------------------------------------------------------------------------------- /frontend/src/setupProxy.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // @ts-ignore 3 | // @ts-nocheck 4 | import { createProxyMiddleware } from 'http-proxy-middleware'; 5 | 6 | export default function (app) { 7 | app.use( 8 | '/tunnel', 9 | createProxyMiddleware({ 10 | target: process.env.TUNNEL_DOMAIN, 11 | changeOrigin: true, 12 | }), 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/types/api/metrics/getApDex.ts: -------------------------------------------------------------------------------- 1 | export interface ApDexPayloadAndSettingsProps { 2 | servicename: string; 3 | threshold: number; 4 | excludeStatusCode: string; 5 | } 6 | 7 | export interface SetApDexPayloadProps { 8 | data: string; 9 | } 10 | 11 | export interface MetricMetaProps { 12 | delta: boolean; 13 | le: number[] | null; 14 | } 15 | -------------------------------------------------------------------------------- /pkg/query-service/utils/labels/interface.go: -------------------------------------------------------------------------------- 1 | package labels 2 | 3 | type BaseLabels interface { 4 | Len() int 5 | Swap(i, j int) 6 | Less(i, j int) bool 7 | String() string 8 | Hash() uint64 9 | HashForLabels(b []byte, names ...string) (uint64, []byte) 10 | Get(name string) string 11 | Has(name string) bool 12 | Map() map[string]string 13 | } 14 | -------------------------------------------------------------------------------- /frontend/src/api/dashboard/delete.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { PayloadProps, Props } from 'types/api/dashboard/delete'; 3 | 4 | const deleteDashboard = (props: Props): Promise => 5 | axios 6 | .delete(`/dashboards/${props.uuid}`) 7 | .then((response) => response.data); 8 | 9 | export default deleteDashboard; 10 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerList/LogsExplorerList.style.scss: -------------------------------------------------------------------------------- 1 | .logs-list-view-container { 2 | flex: 1; 3 | display: flex; 4 | flex-direction: column; 5 | font-family: 'Space Mono', monospace; 6 | font-size: 14px; 7 | font-weight: 400; 8 | line-height: 18px; 9 | letter-spacing: -0.005em; 10 | text-align: left; 11 | min-height: 500px; 12 | } 13 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/RubyOnRails/md-docs/Kubernetes/ror-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 | ### Running your Ruby application 2 | 3 | Run the application using the below command: 4 | 5 | ```bash 6 | OTEL_EXPORTER=otlp \ 7 | OTEL_SERVICE_NAME={{MYAPP}} \ 8 | OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \ 9 | rails server 10 | ``` -------------------------------------------------------------------------------- /frontend/src/hooks/useResourceAttribute/useResourceAttribute.tsx: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | 3 | import { ResourceContext } from './context'; 4 | import { IResourceAttributeProps } from './types'; 5 | 6 | const useResourceAttribute = (): IResourceAttributeProps => 7 | useContext(ResourceContext); 8 | 9 | export default useResourceAttribute; 10 | -------------------------------------------------------------------------------- /frontend/src/pages/AllErrors/config.ts: -------------------------------------------------------------------------------- 1 | import ROUTES from 'constants/routes'; 2 | import AllErrorsContainer from 'container/AllError'; 3 | import { t } from 'i18next'; 4 | 5 | export const routes = [ 6 | { 7 | Component: AllErrorsContainer, 8 | name: t('routes.all_errors'), 9 | route: ROUTES.ALL_ERROR, 10 | key: ROUTES.ALL_ERROR, 11 | }, 12 | ]; 13 | -------------------------------------------------------------------------------- /frontend/src/types/api/dashboard/create.ts: -------------------------------------------------------------------------------- 1 | import { Dashboard, DashboardData } from './getAll'; 2 | 3 | export type Props = 4 | | { 5 | title: Dashboard['data']['title']; 6 | uploadedGrafana: boolean; 7 | version?: string; 8 | } 9 | | { DashboardData: DashboardData; uploadedGrafana: boolean }; 10 | 11 | export type PayloadProps = Dashboard; 12 | -------------------------------------------------------------------------------- /frontend/src/types/common/select.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | export type SelectOption = { 4 | value: Value; 5 | label: Label; 6 | }; 7 | 8 | export type ExtendedSelectOption = { 9 | disabled?: boolean; 10 | key: string; 11 | label: ReactNode; 12 | title?: string; 13 | value: string; 14 | }; 15 | -------------------------------------------------------------------------------- /frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-When-User-successfull-signup-and-logged-in-he-should-be-redirected-to-dashboard-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/signup/index.spec.ts-snapshots/Sign-Up-Page-When-User-successfull-signup-and-logged-in-he-should-be-redirected-to-dashboard-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/aws_rds_mysql/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor AWS RDS for MySQL with SigNoz 2 | 3 | Collect key AWS RDS for MySQL metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse AWS RDS for MySQL logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | -------------------------------------------------------------------------------- /pkg/query-service/app/opamp/logger.go: -------------------------------------------------------------------------------- 1 | package opamp 2 | 3 | import "log" 4 | 5 | type Logger struct { 6 | logger *log.Logger 7 | } 8 | 9 | func (l *Logger) Debugf(format string, v ...interface{}) { 10 | l.logger.Printf(format, v...) 11 | } 12 | 13 | func (l *Logger) Errorf(format string, v ...interface{}) { 14 | l.logger.Printf(format, v...) 15 | } 16 | -------------------------------------------------------------------------------- /ee/query-service/app/api/response.go: -------------------------------------------------------------------------------- 1 | package api 2 | 3 | import ( 4 | "net/http" 5 | 6 | baseapp "go.signoz.io/signoz/pkg/query-service/app" 7 | basemodel "go.signoz.io/signoz/pkg/query-service/model" 8 | ) 9 | 10 | func RespondError(w http.ResponseWriter, apiErr basemodel.BaseApiError, data interface{}) { 11 | baseapp.RespondError(w, apiErr, data) 12 | } 13 | -------------------------------------------------------------------------------- /frontend/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-env", 4 | ["@babel/preset-react", { "runtime": "automatic" }], 5 | "@babel/preset-typescript" 6 | ], 7 | "plugins": [ 8 | "react-hot-loader/babel", 9 | "@babel/plugin-proposal-class-properties" 10 | ], 11 | "env": { 12 | "production": { 13 | "presets": ["minify"] 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/src/api/apiV1.ts: -------------------------------------------------------------------------------- 1 | const apiV1 = '/api/v1/'; 2 | 3 | export const apiV2 = '/api/v2/'; 4 | export const apiV3 = '/api/v3/'; 5 | export const apiV4 = '/api/v4/'; 6 | export const gatewayApiV1 = '/api/gateway/v1/'; 7 | export const gatewayApiV2 = '/api/gateway/v2/'; 8 | export const apiAlertManager = '/api/alertmanager/'; 9 | 10 | export default apiV1; 11 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/Statistics/Statistics.styles.scss: -------------------------------------------------------------------------------- 1 | .statistics { 2 | display: flex; 3 | justify-content: space-between; 4 | height: 280px; 5 | border: 1px solid var(--bg-slate-500); 6 | border-radius: 4px; 7 | margin: 0 16px; 8 | } 9 | 10 | .lightMode { 11 | .statistics { 12 | border: 1px solid var(--bg-vanilla-300); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/Timeline/Table/types.ts: -------------------------------------------------------------------------------- 1 | import { 2 | AlertRuleTimelineTableResponse, 3 | AlertRuleTimelineTableResponsePayload, 4 | } from 'types/api/alerts/def'; 5 | 6 | export type TimelineTableProps = { 7 | timelineData: AlertRuleTimelineTableResponse[]; 8 | totalItems: AlertRuleTimelineTableResponsePayload['data']['total']; 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Php/md-docs/Windows/Recommended/php-windows-recommended-runApplication.md: -------------------------------------------------------------------------------- 1 | 2 | **Step 6: Set environment variables and run app** 3 | 4 | Run application using your run command or the following generalized command (depending on framework you are using): 5 | 6 | ```bash 7 | php -S localhost:8080 app.php 8 | ``` 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/alertTypes.ts: -------------------------------------------------------------------------------- 1 | // this list must exactly match with the backend 2 | export enum AlertTypes { 3 | ANOMALY_BASED_ALERT = 'ANOMALY_BASED_ALERT', 4 | METRICS_BASED_ALERT = 'METRIC_BASED_ALERT', 5 | LOGS_BASED_ALERT = 'LOGS_BASED_ALERT', 6 | TRACES_BASED_ALERT = 'TRACES_BASED_ALERT', 7 | EXCEPTIONS_BASED_ALERT = 'EXCEPTIONS_BASED_ALERT', 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/types/roles.ts: -------------------------------------------------------------------------------- 1 | export type ADMIN = 'ADMIN'; 2 | export type VIEWER = 'VIEWER'; 3 | export type EDITOR = 'EDITOR'; 4 | export type AUTHOR = 'AUTHOR'; 5 | 6 | export type ROLES = ADMIN | VIEWER | EDITOR | AUTHOR; 7 | 8 | export const USER_ROLES = { 9 | ADMIN: 'ADMIN', 10 | VIEWER: 'VIEWER', 11 | EDITOR: 'EDITOR', 12 | AUTHOR: 'AUTHOR', 13 | }; 14 | -------------------------------------------------------------------------------- /pkg/instrumentation/doc.go: -------------------------------------------------------------------------------- 1 | // Package instrumentation provides utilities for initializing and managing 2 | // OpenTelemetry resources, logging, tracing, and metering within the application. It 3 | // leverages the OpenTelemetry SDK to facilitate the collection and 4 | // export of telemetry data, to an OTLP (OpenTelemetry Protocol) endpoint. 5 | package instrumentation 6 | -------------------------------------------------------------------------------- /ee/query-service/model/auth.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | import ( 4 | basemodel "go.signoz.io/signoz/pkg/query-service/model" 5 | ) 6 | 7 | // GettableInvitation overrides base object and adds precheck into 8 | // response 9 | type GettableInvitation struct { 10 | *basemodel.InvitationResponseObject 11 | Precheck *basemodel.PrecheckResponse `json:"precheck"` 12 | } 13 | -------------------------------------------------------------------------------- /frontend/src/api/dashboard/unlockDashboard.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { AxiosResponse } from 'axios'; 3 | 4 | interface UnlockDashboardProps { 5 | uuid: string; 6 | } 7 | 8 | const unlockDashboard = (props: UnlockDashboardProps): Promise => 9 | axios.put(`/dashboards/${props.uuid}/unlock`); 10 | 11 | export default unlockDashboard; 12 | -------------------------------------------------------------------------------- /frontend/src/pages/Billing/BillingPage.tsx: -------------------------------------------------------------------------------- 1 | import './BillingPage.styles.scss'; 2 | 3 | import BillingContainer from 'container/BillingContainer/BillingContainer'; 4 | 5 | function BillingPage(): JSX.Element { 6 | return ( 7 |
8 | 9 |
10 | ); 11 | } 12 | 13 | export default BillingPage; 14 | -------------------------------------------------------------------------------- /frontend/src/types/api/metrics/getTopOperations.ts: -------------------------------------------------------------------------------- 1 | import { TopOperationList } from 'container/MetricsApplication/TopOperationsTable'; 2 | import { Tags } from 'types/reducer/trace'; 3 | 4 | export interface Props { 5 | service: string; 6 | start: number; 7 | end: number; 8 | selectedTags: Tags[]; 9 | } 10 | 11 | export type PayloadProps = TopOperationList[]; 12 | -------------------------------------------------------------------------------- /pkg/confmap/config.go: -------------------------------------------------------------------------------- 1 | package confmap 2 | 3 | // Config is an interface that defines methods for creating and validating configurations. 4 | type Config interface { 5 | // New creates a new instance of the configuration with default values. 6 | NewWithDefaults() Config 7 | // Validate the configuration and returns an error if invalid. 8 | Validate() error 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/components/AlertDetailsFilters/Filters.tsx: -------------------------------------------------------------------------------- 1 | import './Filters.styles.scss'; 2 | 3 | import DateTimeSelector from 'container/TopNav/DateTimeSelectionV2'; 4 | 5 | export function Filters(): JSX.Element { 6 | return ( 7 |
8 | 9 |
10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/container/GantChart/GantChart.styles.scss: -------------------------------------------------------------------------------- 1 | .span-container { 2 | .spanDetails { 3 | position: absolute; 4 | height: 50px; 5 | padding: 8px; 6 | min-width: 150px; 7 | background: lightcyan; 8 | color: black; 9 | bottom: 24px; 10 | left: 0; 11 | 12 | display: flex; 13 | justify-content: center; 14 | align-items: center; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /frontend/src/container/GridValueComponent/types.ts: -------------------------------------------------------------------------------- 1 | import { ThresholdProps } from 'container/NewWidget/RightContainer/Threshold/types'; 2 | import uPlot from 'uplot'; 3 | 4 | export type GridValueComponentProps = { 5 | data: uPlot.AlignedData; 6 | options?: uPlot.Options; 7 | title?: React.ReactNode; 8 | yAxisUnit?: string; 9 | thresholds?: ThresholdProps[]; 10 | }; 11 | -------------------------------------------------------------------------------- /frontend/src/container/ListOfDashboard/TableComponents/DeleteButton.styles.scss: -------------------------------------------------------------------------------- 1 | .delete-modal { 2 | .ant-modal-confirm-body { 3 | align-items: center; 4 | } 5 | } 6 | 7 | .delete-btn:hover { 8 | background-color: rgba(255, 255, 255, 0.12); 9 | } 10 | 11 | .lightMode { 12 | .delete-btn:hover { 13 | background-color: rgba(0, 0, 0, 0.06) !important; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/LogsManagement/SysLogs/md-docs/LinuxAMD64/syslogs-linuxamd64-checkServiceStatus.md: -------------------------------------------------------------------------------- 1 | ### Checking Service Status 2 | 3 | Restart your rsyslog service by running 4 | ```bash 5 | sudo systemctl restart rsyslog.service 6 | ``` 7 | 8 | Check the status of your service 9 | ```bash 10 | sudo systemctl status rsyslog.service 11 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/LogsManagement/SysLogs/md-docs/LinuxARM64/syslogs-linuxarm64-checkServiceStatus.md: -------------------------------------------------------------------------------- 1 | ### Checking Service Status 2 | 3 | Restart your rsyslog service by running 4 | ```bash 5 | sudo systemctl restart rsyslog.service 6 | ``` 7 | 8 | Check the status of your service 9 | ```bash 10 | sudo systemctl status rsyslog.service 11 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/LogsManagement/SysLogs/md-docs/MacOsAMD64/syslogs-macosamd64-checkServiceStatus.md: -------------------------------------------------------------------------------- 1 | ### Checking Service Status 2 | 3 | Restart your rsyslog service by running 4 | ```bash 5 | sudo systemctl restart rsyslog.service 6 | ``` 7 | 8 | Check the status of your service 9 | ```bash 10 | sudo systemctl status rsyslog.service 11 | ``` -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/LogsManagement/SysLogs/md-docs/MacOsARM64/syslogs-macosarm64-checkServiceStatus.md: -------------------------------------------------------------------------------- 1 | ### Checking Service Status 2 | 3 | Restart your rsyslog service by running 4 | ```bash 5 | sudo systemctl restart rsyslog.service 6 | ``` 7 | 8 | Check the status of your service 9 | ```bash 10 | sudo systemctl status rsyslog.service 11 | ``` -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/components/ListMarker/ListMarker.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from 'react'; 2 | 3 | export type ListMarkerProps = { 4 | isDisabled: boolean; 5 | labelName: string; 6 | index: number; 7 | className?: string; 8 | isAvailableToDisable?: boolean; 9 | onDisable: (index: number) => void; 10 | style?: CSSProperties; 11 | }; 12 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/BuilderUnitsFilter/config.ts: -------------------------------------------------------------------------------- 1 | import { CategoryNames } from 'container/NewWidget/RightContainer/types'; 2 | 3 | export const categoryToSupport = [ 4 | CategoryNames.Data, 5 | CategoryNames.DataRate, 6 | CategoryNames.Time, 7 | CategoryNames.Throughput, 8 | CategoryNames.Miscellaneous, 9 | CategoryNames.Boolean, 10 | ]; 11 | -------------------------------------------------------------------------------- /frontend/src/container/QueryBuilder/filters/OperatorsSelect/OperatorsSelect.interfaces.ts: -------------------------------------------------------------------------------- 1 | import { SelectProps } from 'antd'; 2 | import { SelectOption } from 'types/common/select'; 3 | 4 | export type OperatorsSelectProps = Omit & { 5 | operators: SelectOption[]; 6 | onChange: (value: string) => void; 7 | value: string; 8 | }; 9 | -------------------------------------------------------------------------------- /frontend/src/types/api/dynamicConfigs/getDynamicConfigs.ts: -------------------------------------------------------------------------------- 1 | export interface ConfigProps { 2 | enabled: boolean; 3 | frontendPositionId: string; 4 | components: Array<{ 5 | href: string; 6 | darkIcon: string; 7 | lightIcon: string; 8 | position: 1; 9 | text: string; 10 | }>; 11 | } 12 | export interface PayloadProps { 13 | [key: string]: ConfigProps; 14 | } 15 | -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/aws_rds_postgres/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor AWS RDS for PostgreSQL with SigNoz 2 | 3 | Collect key AWS RDS for PostgreSQL metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse AWS RDS for PostgreSQL logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | -------------------------------------------------------------------------------- /pkg/query-service/config/alerts.yml: -------------------------------------------------------------------------------- 1 | groups: 2 | - name: ExampleCPULoadGroup 3 | rules: 4 | - alert: HighCpuLoad-dev 5 | expr: system_cpu_load_average_1m > 0.01 6 | for: 0m 7 | labels: 8 | severity: warning 9 | annotations: 10 | summary: High CPU load 11 | description: "CPU load is > 0.01\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" -------------------------------------------------------------------------------- /deploy/docker/clickhouse-setup/alerts.yml: -------------------------------------------------------------------------------- 1 | groups: 2 | - name: ExampleCPULoadGroup 3 | rules: 4 | - alert: HighCpuLoad 5 | expr: system_cpu_load_average_1m > 0.1 6 | for: 0m 7 | labels: 8 | severity: warning 9 | annotations: 10 | summary: High CPU load 11 | description: "CPU load is > 0.1\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" 12 | -------------------------------------------------------------------------------- /frontend/src/components/LaunchChatSupport/util.ts: -------------------------------------------------------------------------------- 1 | export const onboardingHelpMessage = ( 2 | dataSourceName: string, 3 | moduleId: string, 4 | ): string => `Hi Team, 5 | 6 | I am facing issues sending data to SigNoz. Here are my application details 7 | 8 | Data Source: ${dataSourceName} 9 | Framework: 10 | Environment: 11 | Module: ${moduleId} 12 | 13 | Thanks 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/container/AllError/types.ts: -------------------------------------------------------------------------------- 1 | import { FilterDropdownProps } from 'antd/es/table/interface'; 2 | 3 | export interface FilterDropdownExtendsProps { 4 | placeholder: string; 5 | filterKey: string; 6 | confirm: FilterDropdownProps['confirm']; 7 | setSelectedKeys: FilterDropdownProps['setSelectedKeys']; 8 | selectedKeys: FilterDropdownProps['selectedKeys']; 9 | } 10 | -------------------------------------------------------------------------------- /frontend/src/container/LogsExplorerList/InfinityTableView/types.ts: -------------------------------------------------------------------------------- 1 | import { UseTableViewProps } from 'components/Logs/TableView/types'; 2 | 3 | export type InfinityTableProps = { 4 | isLoading?: boolean; 5 | tableViewProps: Omit; 6 | infitiyTableProps?: { 7 | onEndReached: (index: number) => void; 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/src/container/OnboardingContainer/Modules/APM/Dotnet/md-docs/Kubernetes/dotnet-kubernetes-runApplication.md: -------------------------------------------------------------------------------- 1 |   2 | 3 | To run your .NET application, use the below command : 4 | 5 | ```bash 6 | dotnet build 7 | dotnet run 8 | ``` 9 | 10 | Once you run your .NET application, interact with your application to generate some load and see your application in the SigNoz UI. -------------------------------------------------------------------------------- /frontend/src/container/TimeSeriesView/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card, Typography } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled(Card)` 5 | .ant-card-body { 6 | height: 50vh; 7 | min-height: 350px; 8 | padding: 0px 12px; 9 | } 10 | `; 11 | 12 | export const ErrorText = styled(Typography)` 13 | text-align: center; 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/container/TracesExplorer/ListView/configs.tsx: -------------------------------------------------------------------------------- 1 | import { DEFAULT_PER_PAGE_OPTIONS } from 'hooks/queryPagination'; 2 | 3 | export const defaultSelectedColumns: string[] = [ 4 | 'serviceName', 5 | 'name', 6 | 'durationNano', 7 | 'httpMethod', 8 | 'responseStatusCode', 9 | ]; 10 | 11 | export const PER_PAGE_OPTIONS: number[] = [10, ...DEFAULT_PER_PAGE_OPTIONS]; 12 | -------------------------------------------------------------------------------- /frontend/src/container/TracesExplorer/QuerySection/styles.ts: -------------------------------------------------------------------------------- 1 | import { Card, Col } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled(Card)` 5 | border: none; 6 | background: inherit; 7 | 8 | .ant-card-body { 9 | padding: 0; 10 | } 11 | `; 12 | 13 | export const ButtonWrapper = styled(Col)` 14 | margin-left: auto; 15 | `; 16 | -------------------------------------------------------------------------------- /frontend/src/lib/convertIntoHr.ts: -------------------------------------------------------------------------------- 1 | import { SettingPeriod } from 'container/GeneralSettings'; 2 | 3 | const converIntoHr = (value: number, peroid: SettingPeriod): number => { 4 | if (peroid === 'day') { 5 | return value * 24; 6 | } 7 | 8 | if (peroid === 'hr') { 9 | return value; 10 | } 11 | 12 | return value * 720; 13 | }; 14 | 15 | export default converIntoHr; 16 | -------------------------------------------------------------------------------- /frontend/src/types/api/errors/getErrorCounts.ts: -------------------------------------------------------------------------------- 1 | import { GlobalTime } from 'types/actions/globalTime'; 2 | import { Tags } from 'types/reducer/trace'; 3 | 4 | export type Props = { 5 | start: GlobalTime['minTime']; 6 | end: GlobalTime['minTime']; 7 | exceptionType: string; 8 | serviceName: string; 9 | tags: Tags[]; 10 | }; 11 | 12 | export type PayloadProps = number; 13 | -------------------------------------------------------------------------------- /frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-the-page-with-50-26a88--in-antd-notification-with-no-data-antd-table-1-Signoz-darwin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code/app-signoz/develop/frontend/tests/expections/index.spec.ts-snapshots/Expections-page-Should-render-the-page-with-50-26a88--in-antd-notification-with-no-data-antd-table-1-Signoz-darwin.png -------------------------------------------------------------------------------- /pkg/query-service/app/integrations/builtin_integrations/aws_elasticache/overview.md: -------------------------------------------------------------------------------- 1 | ### Monitor AWS ElastiCache (redis) with SigNoz 2 | 3 | Collect key AWS ElastiCache (redis) metrics and view them with an out of the box dashboard. 4 | 5 | Collect and parse AWS ElastiCache (redis) logs to populate timestamp, severity, and other log attributes for better querying and aggregation. 6 | -------------------------------------------------------------------------------- /deploy/docker-swarm/clickhouse-setup/alerts.yml: -------------------------------------------------------------------------------- 1 | groups: 2 | - name: ExampleCPULoadGroup 3 | rules: 4 | - alert: HighCpuLoad 5 | expr: system_cpu_load_average_1m > 0.1 6 | for: 0m 7 | labels: 8 | severity: warning 9 | annotations: 10 | summary: High CPU load 11 | description: "CPU load is > 0.1\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" 12 | -------------------------------------------------------------------------------- /frontend/src/api/metrics/ApDex/getApDexSettings.ts: -------------------------------------------------------------------------------- 1 | import axios from 'api'; 2 | import { AxiosResponse } from 'axios'; 3 | import { ApDexPayloadAndSettingsProps } from 'types/api/metrics/getApDex'; 4 | 5 | export const getApDexSettings = ( 6 | servicename: string, 7 | ): Promise> => 8 | axios.get(`/settings/apdex?services=${servicename}`); 9 | -------------------------------------------------------------------------------- /frontend/src/container/AlertHistory/types.ts: -------------------------------------------------------------------------------- 1 | export enum AlertDetailsTab { 2 | OVERVIEW = 'OVERVIEW', 3 | HISTORY = 'HISTORY', 4 | } 5 | 6 | export enum TimelineTab { 7 | OVERALL_STATUS = 'OVERALL_STATUS', 8 | TOP_5_CONTRIBUTORS = 'TOP_5_CONTRIBUTORS', 9 | } 10 | 11 | export enum TimelineFilter { 12 | ALL = 'ALL', 13 | FIRED = 'FIRED', 14 | RESOLVED = 'RESOLVED', 15 | } 16 | -------------------------------------------------------------------------------- /frontend/src/container/LogControls/styles.ts: -------------------------------------------------------------------------------- 1 | import { Button } from 'antd'; 2 | import styled from 'styled-components'; 3 | 4 | export const Container = styled.div` 5 | display: flex; 6 | align-items: center; 7 | justify-content: flex-end; 8 | gap: 0.5rem; 9 | `; 10 | 11 | export const DownloadLogButton = styled(Button)` 12 | display: flex; 13 | align-items: center; 14 | `; 15 | -------------------------------------------------------------------------------- /frontend/src/types/api/alerts/timelineTable.ts: -------------------------------------------------------------------------------- 1 | import { TagFilter } from '../queryBuilder/queryBuilderData'; 2 | import { AlertDef } from './def'; 3 | 4 | export interface GetTimelineTableRequestProps { 5 | id: AlertDef['id']; 6 | start: number; 7 | end: number; 8 | offset: number; 9 | limit: number; 10 | order: string; 11 | filters?: TagFilter; 12 | state?: string; 13 | } 14 | -------------------------------------------------------------------------------- /pkg/query-service/healthcheck/handler.go: -------------------------------------------------------------------------------- 1 | package healthcheck 2 | 3 | const ( 4 | // Unavailable indicates the service is not able to handle requests 5 | Unavailable Status = iota 6 | // Ready indicates the service is ready to handle requests 7 | Ready 8 | // Broken indicates that the healthcheck itself is broken, not serving HTTP 9 | Broken 10 | ) 11 | 12 | type Status int 13 | -------------------------------------------------------------------------------- /frontend/src/components/TimePreferenceDropDown/styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | interface TextContainerProps { 4 | noButtonMargin?: boolean; 5 | } 6 | 7 | export const TextContainer = styled.div` 8 | display: flex; 9 | 10 | > button { 11 | margin-left: ${({ noButtonMargin }): string => 12 | noButtonMargin ? '0' : '0.5rem'} 13 | `; 14 | --------------------------------------------------------------------------------