diff --git a/.github/workflows/digma-bump.yml b/.github/workflows/digma-bump.yml index bee8fa5139..ba817e7af7 100644 --- a/.github/workflows/digma-bump.yml +++ b/.github/workflows/digma-bump.yml @@ -3,9 +3,18 @@ name: Bump Digma Jaeger UI version and push git tag on: workflow_dispatch: inputs: - version: - description: 'Version to set (e.g., 1.2.3)' + version_type: + description: 'Type of version bump' required: true + type: choice + options: + - major + - minor + - patch + - premajor + - preminor + - prepatch + - prerelease jobs: bump: @@ -24,14 +33,29 @@ jobs: VERSION=$(jq -r '.version' ./packages/jaeger-ui/package.json) echo "VERSION=$VERSION" >> $GITHUB_ENV + - name: Get current digma-jaeger-ui version + id: get-version + run: | + CURRENT_DIGMA_JAEGER_UI_VERSION=$(jq -r '.["digma-jaeger-ui-version"]' ./packages/jaeger-ui/package.json) + echo "CURRENT_DIGMA_JAEGER_UI_VERSION=$CURRENT_DIGMA_JAEGER_UI_VERSION" >> $GITHUB_ENV + + - name: Calculate next digma-jaeger-ui version + run: | + if [[ "${{ inputs.version_type }}" == "prerelease" || "${{ inputs.version_type }}" == "premajor" || "${{ inputs.version_type }}" == "preminor" || "${{ inputs.version_type }}" == "prepatch" ]]; then + NEXT_DIGMA_JAEGER_UI_VERSION=$(npx semver $CURRENT_DIGMA_JAEGER_UI_VERSION -i ${{ inputs.version_type }} --preid alpha) + else + NEXT_DIGMA_JAEGER_UI_VERSION=$(npx semver $CURRENT_DIGMA_JAEGER_UI_VERSION -i ${{ inputs.version_type }}) + fi + echo "NEXT_DIGMA_JAEGER_UI_VERSION=$NEXT_DIGMA_JAEGER_UI_VERSION" >> $GITHUB_ENV + - name: Update digma-jaeger-ui version run: | - jq '.["digma-jaeger-ui-version"] = "${{ inputs.version }}"' ./packages/jaeger-ui/package.json > tmp.$$.json && mv tmp.$$.json ./packages/jaeger-ui/package.json + jq '.["digma-jaeger-ui-version"] = "${{ env.NEXT_DIGMA_JAEGER_UI_VERSION }}"' ./packages/jaeger-ui/package.json > tmp.$$.json && mv tmp.$$.json ./packages/jaeger-ui/package.json - run: | - TAG="v${{ env.VERSION }}-digma.${{ inputs.version }}" + TAG="v${{ env.VERSION }}-digma.${{ env.NEXT_DIGMA_JAEGER_UI_VERSION }}" git add packages/jaeger-ui/package.json - git commit -m "Bump Digma Jaeger UI version to ${{ inputs.version }} [skip ci]" + git commit -m "Bump Digma Jaeger UI version to ${{ env.NEXT_DIGMA_JAEGER_UI_VERSION }} [skip ci]" git tag $TAG git push git push origin $TAG diff --git a/packages/jaeger-ui/src/components/common/InsightIcon/types.ts b/packages/jaeger-ui/src/components/common/InsightIcon/types.ts index ff94be7d8f..ab94f9a6c7 100644 --- a/packages/jaeger-ui/src/components/common/InsightIcon/types.ts +++ b/packages/jaeger-ui/src/components/common/InsightIcon/types.ts @@ -32,4 +32,5 @@ export enum InsightType { EndpointQueryOptimization = 'EndpointQueryOptimization', EndpointQueryOptimizationV2 = 'EndpointQueryOptimizationV2', EndpointSlowdownSource = 'EndpointSlowdownSource', + SpanPerformanceAnomaly = 'SpanPerformanceAnomaly', } diff --git a/packages/jaeger-ui/src/components/common/InsightIcon/utils.ts b/packages/jaeger-ui/src/components/common/InsightIcon/utils.ts index 65b700525e..a3ee7b9b2c 100644 --- a/packages/jaeger-ui/src/components/common/InsightIcon/utils.ts +++ b/packages/jaeger-ui/src/components/common/InsightIcon/utils.ts @@ -14,6 +14,7 @@ import { IIconProps } from '../icons/types'; import { InsightType } from './types'; import ClockWithTicksIcon from '../icons/ClockWithTicksIcon'; import PieChartIcon from '../icons/PieChartIcon'; +import PulseIcon from '../icons/PulseIcon'; import TwoHorizontalEndpointsIcon from '../icons/TwoHorizontalEndpointsIcon'; export const getInsightTypeInfo = ( @@ -119,6 +120,10 @@ export const getInsightTypeInfo = ( icon: SQLDatabaseIcon, label: 'Inefficient Query', }, + [InsightType.SpanPerformanceAnomaly]: { + icon: PulseIcon, + label: 'Performance Anomaly', + }, }; return insightInfoMap[type]; diff --git a/packages/jaeger-ui/src/components/common/icons/PulseIcon.tsx b/packages/jaeger-ui/src/components/common/icons/PulseIcon.tsx new file mode 100644 index 0000000000..bbf22b2e8c --- /dev/null +++ b/packages/jaeger-ui/src/components/common/icons/PulseIcon.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { useIconProps } from './hooks'; +import { IIconProps } from './types'; + +const PulseIconComponent = (props: IIconProps) => { + const { size, color } = useIconProps(props); + + return ( + + + + ); +}; + +const PulseIcon = React.memo(PulseIconComponent); + +export default PulseIcon; diff --git a/packages/jaeger-ui/src/components/common/icons/SoundWaveIcon.tsx b/packages/jaeger-ui/src/components/common/icons/SoundWaveIcon.tsx new file mode 100644 index 0000000000..ab570f02c7 --- /dev/null +++ b/packages/jaeger-ui/src/components/common/icons/SoundWaveIcon.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { useIconProps } from './hooks'; +import { IIconProps } from './types'; + +const SoundWaveIconComponent = (props: IIconProps) => { + const { size, color } = useIconProps(props); + + return ( + + + + ); +}; + +const SoundWaveIcon = React.memo(SoundWaveIconComponent); + +export default SoundWaveIcon;