mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-18 12:24:29 +08:00
Chore: logs pipelines UI telemetry (#3964)
* chore: emit event when user saves pipelines * chore: emit tracking event for entered edit mode * chore: emit tracking event for clicking add new processor * chore: emit tracking event for clicking preview pipeline btn * chore: address PR feedback
This commit is contained in:
parent
2ae75e6196
commit
a99d7f09a1
@ -3,6 +3,7 @@ import TextToolTip from 'components/TextToolTip';
|
|||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { ActionMode, ActionType, Pipeline } from 'types/api/pipeline/def';
|
import { ActionMode, ActionType, Pipeline } from 'types/api/pipeline/def';
|
||||||
|
import { trackEvent } from 'utils/segmentAnalytics';
|
||||||
|
|
||||||
import { ButtonContainer, CustomButton } from '../../styles';
|
import { ButtonContainer, CustomButton } from '../../styles';
|
||||||
import { checkDataLength } from '../utils';
|
import { checkDataLength } from '../utils';
|
||||||
@ -21,10 +22,20 @@ function CreatePipelineButton({
|
|||||||
);
|
);
|
||||||
const isDisabled = isActionMode === ActionMode.Editing;
|
const isDisabled = isActionMode === ActionMode.Editing;
|
||||||
|
|
||||||
const onEnterEditMode = (): void => setActionMode(ActionMode.Editing);
|
const onEnterEditMode = (): void => {
|
||||||
|
setActionMode(ActionMode.Editing);
|
||||||
|
|
||||||
|
trackEvent('Logs: Pipelines: Entered Edit Mode', {
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
|
};
|
||||||
const onAddNewPipeline = (): void => {
|
const onAddNewPipeline = (): void => {
|
||||||
setActionMode(ActionMode.Editing);
|
setActionMode(ActionMode.Editing);
|
||||||
setActionType(ActionType.AddPipeline);
|
setActionType(ActionType.AddPipeline);
|
||||||
|
|
||||||
|
trackEvent('Logs: Pipelines: Clicked Add New Pipeline', {
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -11,6 +11,7 @@ import {
|
|||||||
PipelineData,
|
PipelineData,
|
||||||
ProcessorData,
|
ProcessorData,
|
||||||
} from 'types/api/pipeline/def';
|
} from 'types/api/pipeline/def';
|
||||||
|
import { trackEvent } from 'utils/segmentAnalytics';
|
||||||
|
|
||||||
import { tableComponents } from '../config';
|
import { tableComponents } from '../config';
|
||||||
import { ModalFooterTitle } from '../styles';
|
import { ModalFooterTitle } from '../styles';
|
||||||
@ -189,6 +190,10 @@ function PipelineExpandView({
|
|||||||
|
|
||||||
const addNewProcessorHandler = useCallback((): void => {
|
const addNewProcessorHandler = useCallback((): void => {
|
||||||
setActionType(ActionType.AddProcessor);
|
setActionType(ActionType.AddProcessor);
|
||||||
|
|
||||||
|
trackEvent('Logs: Pipelines: Clicked Add New Processor', {
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
}, [setActionType]);
|
}, [setActionType]);
|
||||||
|
|
||||||
const footer = useCallback((): JSX.Element | undefined => {
|
const footer = useCallback((): JSX.Element | undefined => {
|
||||||
|
@ -15,6 +15,7 @@ import {
|
|||||||
PipelineData,
|
PipelineData,
|
||||||
ProcessorData,
|
ProcessorData,
|
||||||
} from 'types/api/pipeline/def';
|
} from 'types/api/pipeline/def';
|
||||||
|
import { trackEvent } from 'utils/segmentAnalytics';
|
||||||
import { v4 } from 'uuid';
|
import { v4 } from 'uuid';
|
||||||
|
|
||||||
import { tableComponents } from '../config';
|
import { tableComponents } from '../config';
|
||||||
@ -329,6 +330,10 @@ function PipelineListsView({
|
|||||||
|
|
||||||
const addNewPipelineHandler = useCallback((): void => {
|
const addNewPipelineHandler = useCallback((): void => {
|
||||||
setActionType(ActionType.AddPipeline);
|
setActionType(ActionType.AddPipeline);
|
||||||
|
|
||||||
|
trackEvent('Logs: Pipelines: Clicked Add New Pipeline', {
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
}, [setActionType]);
|
}, [setActionType]);
|
||||||
|
|
||||||
const footer = useCallback((): JSX.Element | undefined => {
|
const footer = useCallback((): JSX.Element | undefined => {
|
||||||
@ -359,8 +364,16 @@ function PipelineListsView({
|
|||||||
refetchPipelineLists();
|
refetchPipelineLists();
|
||||||
setActionMode(ActionMode.Viewing);
|
setActionMode(ActionMode.Viewing);
|
||||||
setShowSaveButton(undefined);
|
setShowSaveButton(undefined);
|
||||||
setCurrPipelineData(response.payload?.pipelines || []);
|
|
||||||
setPrevPipelineData(response.payload?.pipelines || []);
|
const pipelinesInDB = response.payload?.pipelines || [];
|
||||||
|
setCurrPipelineData(pipelinesInDB);
|
||||||
|
setPrevPipelineData(pipelinesInDB);
|
||||||
|
|
||||||
|
trackEvent('Logs: Pipelines: Saved Pipelines', {
|
||||||
|
count: pipelinesInDB.length,
|
||||||
|
enabled: pipelinesInDB.filter((p) => p.enabled).length,
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
modifiedPipelineData.forEach((item: PipelineData) => {
|
modifiedPipelineData.forEach((item: PipelineData) => {
|
||||||
const pipelineData = item;
|
const pipelineData = item;
|
||||||
|
@ -3,6 +3,7 @@ import { Divider, Modal } from 'antd';
|
|||||||
import PipelineProcessingPreview from 'container/PipelinePage/PipelineListsView/Preview/PipelineProcessingPreview';
|
import PipelineProcessingPreview from 'container/PipelinePage/PipelineListsView/Preview/PipelineProcessingPreview';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { PipelineData } from 'types/api/pipeline/def';
|
import { PipelineData } from 'types/api/pipeline/def';
|
||||||
|
import { trackEvent } from 'utils/segmentAnalytics';
|
||||||
|
|
||||||
import { iconStyle } from '../../../config';
|
import { iconStyle } from '../../../config';
|
||||||
|
|
||||||
@ -18,9 +19,16 @@ function PreviewAction({ pipeline }: PreviewActionProps): JSX.Element | null {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onOpenPreview = (): void => {
|
||||||
|
openModal();
|
||||||
|
trackEvent('Logs: Pipelines: Clicked Preview Pipeline', {
|
||||||
|
source: 'signoz-ui',
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<EyeFilled style={iconStyle} onClick={openModal} />
|
<EyeFilled style={iconStyle} onClick={onOpenPreview} />
|
||||||
<Modal
|
<Modal
|
||||||
open={isModalOpen}
|
open={isModalOpen}
|
||||||
onCancel={closeModal}
|
onCancel={closeModal}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user