@odigos/ui-kit 0.0.281 → 0.0.283
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/lib/chunks/{helpers-BCQhqBdU.js → helpers-BfXS2wve.js} +1 -1
- package/lib/chunks/index--HGLHoM2.js +257 -0
- package/lib/chunks/source-instrument-form-context-CNsR2QcD.js +5 -0
- package/lib/chunks/{ui-components-D1sa0AJ8.js → ui-components-DLU_wMXv.js} +228 -223
- package/lib/components/segment/index.d.ts +1 -0
- package/lib/components.js +1 -1
- package/lib/constants.js +1 -1
- package/lib/containers/_drawers/edit-action-drawer/helpers.d.ts +3 -2
- package/lib/containers/_drawers/edit-rule-drawer/helpers.d.ts +3 -2
- package/lib/containers.js +228 -228
- package/lib/contexts/odigos-api/capabilities.d.ts +2 -1
- package/lib/contexts/odigos-api/hooks/use-profiling-api.d.ts +14 -4
- package/lib/contexts/odigos-api/types.d.ts +5 -3
- package/lib/contexts.js +1 -1
- package/lib/functions/build-catalog-fields-data-card/index.d.ts +42 -2
- package/lib/functions/index.d.ts +1 -0
- package/lib/functions/render-catalog-field-segments/index.d.ts +8 -0
- package/lib/functions.js +1 -1
- package/lib/hooks/useActionFormData.d.ts +1 -1
- package/lib/hooks.js +1 -1
- package/lib/snippets/enable-disable-segment/index.d.ts +7 -0
- package/lib/snippets/index.d.ts +1 -0
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme/palettes/index.d.ts +1 -0
- package/lib/theme.js +1 -1
- package/lib/types/common/index.d.ts +3 -1
- package/lib/types/sources/index.d.ts +56 -0
- package/lib/types/workload/index.d.ts +1 -0
- package/lib/types.js +1 -1
- package/lib/visuals.js +1 -1
- package/package.json +1 -1
- package/lib/chunks/index-CAqgZyIB.js +0 -257
- package/lib/chunks/source-instrument-form-context-Cng6X7Mt.js +0 -5
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* Capabilities are computed from:
|
|
7
7
|
* 1. `ctx.platformType` — VM platforms gate out cluster-only features;
|
|
8
8
|
* connectors share the agents-api dialect with VM for sources and must
|
|
9
|
-
* not inherit Kubernetes-only affordances.
|
|
9
|
+
* not inherit Kubernetes-only affordances. Profiling is an exception:
|
|
10
|
+
* k8s uses slots/flamebearer; VM uses agents-api hot-functions.
|
|
10
11
|
* 2. `ctx.tier` — community vs enterprise.
|
|
11
12
|
* 3. Operation presence — if the host adapter doesn't supply
|
|
12
13
|
* `CREATE_ACTION`, the capability is `false`.
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import type { OperationContext, OdigosApiOperations } from '../types';
|
|
2
2
|
import { type UseApiQueryOptions, type UseApiQueryResult } from '../use-api-query';
|
|
3
|
-
import type { EnableProfilingResult, ProfilingSlots, SourceProfilingResult,
|
|
3
|
+
import type { EnableProfilingResult, GetProfileHotFunctionsVars, HotFunctionsResult, ProfilingSlots, SourceProfilingResult, SourceProfilingVars } from '../../../types';
|
|
4
4
|
export interface ProfilingApi {
|
|
5
5
|
/** Subscribe to the profiling slots metadata. Typically polled while the Profiling tab is open. */
|
|
6
6
|
useSlots: (options?: UseApiQueryOptions<ProfilingSlots>) => UseApiQueryResult<ProfilingSlots>;
|
|
7
7
|
/** Subscribe to a single source's CPU profile. Typically polled while live; pass `skip` to pause. */
|
|
8
|
-
useSourceProfiling: (vars?:
|
|
8
|
+
useSourceProfiling: (vars?: SourceProfilingVars, options?: UseApiQueryOptions<SourceProfilingResult>) => UseApiQueryResult<SourceProfilingResult>;
|
|
9
|
+
/** Subscribe to VM agents-api ranked hot functions (agent-wide cache; filter by service in the UI). */
|
|
10
|
+
useHotFunctions: (vars?: GetProfileHotFunctionsVars, options?: UseApiQueryOptions<HotFunctionsResult>) => UseApiQueryResult<HotFunctionsResult>;
|
|
9
11
|
fetchSlots?: () => Promise<{
|
|
10
12
|
data?: ProfilingSlots;
|
|
11
13
|
error?: string;
|
|
12
14
|
}>;
|
|
13
|
-
fetchSourceProfiling?: (
|
|
15
|
+
fetchSourceProfiling?: (vars: SourceProfilingVars) => Promise<{
|
|
14
16
|
data?: SourceProfilingResult;
|
|
15
17
|
error?: string;
|
|
16
18
|
}>;
|
|
17
|
-
enableProfiling?: (
|
|
19
|
+
enableProfiling?: (vars: SourceProfilingVars) => Promise<{
|
|
18
20
|
data?: EnableProfilingResult;
|
|
19
21
|
error?: string;
|
|
20
22
|
}>;
|
|
23
|
+
fetchHotFunctions?: (vars?: GetProfileHotFunctionsVars) => Promise<{
|
|
24
|
+
data?: HotFunctionsResult;
|
|
25
|
+
error?: string;
|
|
26
|
+
}>;
|
|
27
|
+
clearProfileCache?: () => Promise<{
|
|
28
|
+
data?: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
}>;
|
|
21
31
|
}
|
|
22
32
|
export declare const useProfilingApi: (operations: OdigosApiOperations, ctx: OperationContext) => ProfilingApi;
|
|
@@ -18,7 +18,7 @@ import type { ReactNode } from 'react';
|
|
|
18
18
|
import type { DocumentNode } from '@apollo/client';
|
|
19
19
|
import type { InstrumentationRuleInputWire } from '../../functions/instrumentation-rule-source-scopes';
|
|
20
20
|
import type { ApolloClient, ApolloLink, FetchPolicy, MutationFetchPolicy, TypePolicies, WatchQueryFetchPolicy } from '@apollo/client';
|
|
21
|
-
import type { Action, ActionFormData, AllClusterSnapshots, ClusterSnapshot, ConfigYaml, CostReductionRule, CostReductionRuleInput, DataStream, DescribeOdigos, DescribeSource, Destination, DestinationFormData, DiagnoseFormData, EffectiveConfig, EffectiveConfigInput, EnableProfilingResult, ExtendedPodInfo, FetchedConfig, GatewayInfo, GetActionTypesResult, GetInstrumentationRuleTypesResult, GetDestinationCategoriesResult, GetPotentialDestinationsResult, HighlyRelevantOperationRule, HighlyRelevantOperationRuleInput, InstrumentationRule, K8sResourceKind, LocalUiConfigInput, Metrics, Namespace, NoisyOperationRule, NoisyOperationRuleInput, NodeCollectoInfo, PlatformType, PodInfo, ProfilingSlots, SamplingRules, SamplingRulesK8sHealthConfig, ServiceMapSources, SourceFormData, SourceProfilingResult, TestConnectionResponse, Tier, TokenPayload, Workload, WorkloadId, PeerSources } from '../../types';
|
|
21
|
+
import type { Action, ActionFormData, AllClusterSnapshots, ClusterSnapshot, ConfigYaml, CostReductionRule, CostReductionRuleInput, DataStream, DescribeOdigos, DescribeSource, Destination, DestinationFormData, DiagnoseFormData, EffectiveConfig, EffectiveConfigInput, EnableProfilingResult, ExtendedPodInfo, FetchedConfig, GatewayInfo, GetActionTypesResult, GetInstrumentationRuleTypesResult, GetDestinationCategoriesResult, GetPotentialDestinationsResult, GetProfileHotFunctionsVars, HighlyRelevantOperationRule, HighlyRelevantOperationRuleInput, HotFunctionsResult, InstrumentationRule, K8sResourceKind, LocalUiConfigInput, Metrics, Namespace, NoisyOperationRule, NoisyOperationRuleInput, NodeCollectoInfo, PlatformType, PodInfo, ProfilingSlots, SourceProfilingVars, SamplingRules, SamplingRulesK8sHealthConfig, ServiceMapSources, SourceFormData, SourceProfilingResult, TestConnectionResponse, Tier, TokenPayload, Workload, WorkloadId, PeerSources } from '../../types';
|
|
22
22
|
/**
|
|
23
23
|
* The execution context for a given operation, propagated through every
|
|
24
24
|
* `Operation.document(ctx)` / `transformVariables(vars, ctx)` /
|
|
@@ -741,8 +741,10 @@ export interface OdigosApiOperations {
|
|
|
741
741
|
GET_METRICS: Operation<GetMetricsData, undefined>;
|
|
742
742
|
GET_SERVICE_MAP?: Operation<GetServiceMapData, undefined>;
|
|
743
743
|
GET_PROFILING_SLOTS?: Operation<ProfilingSlots, undefined>;
|
|
744
|
-
GET_SOURCE_PROFILING?: Operation<SourceProfilingResult,
|
|
745
|
-
ENABLE_SOURCE_PROFILING?: Operation<EnableProfilingResult,
|
|
744
|
+
GET_SOURCE_PROFILING?: Operation<SourceProfilingResult, SourceProfilingVars>;
|
|
745
|
+
ENABLE_SOURCE_PROFILING?: Operation<EnableProfilingResult, SourceProfilingVars>;
|
|
746
|
+
GET_PROFILE_HOT_FUNCTIONS?: Operation<HotFunctionsResult, GetProfileHotFunctionsVars | undefined>;
|
|
747
|
+
CLEAR_PROFILE_CACHE?: Operation<boolean, undefined>;
|
|
746
748
|
GET_GATEWAY_INFO?: Operation<GatewayInfo, undefined>;
|
|
747
749
|
GET_GATEWAY_PODS?: Operation<PodInfo[], undefined>;
|
|
748
750
|
GET_NODE_COLLECTOR_INFO?: Operation<NodeCollectoInfo, undefined>;
|
package/lib/contexts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a,r as x,a as y}from"./chunks/source-instrument-form-context-
|
|
1
|
+
import{u as a,r as x,a as y}from"./chunks/source-instrument-form-context-CNsR2QcD.js";export{A as ActionFormContextProvider,C as CloudConnectorFormContextProvider,D as DataStreamFormContextProvider,b as DestinationFormContextProvider,O as OdigosApiConnectionsScope,c as OdigosApiProvider,R as RuleFormContextProvider,S as SamplingRuleFormType,d as SamplingRulesFormProvider,e as SourceEditFormContextProvider,f as SourceInstrumentFormContextProvider,p as prepareNamespacePayloads,g as prepareSourcePayloads,h as useActionFormContext,i as useApiLazyQuery,j as useApiMutation,k as useApiQuery,l as useCloudConnectorFormContext,m as useDataStreamFormContext,n as useDestinationFormContext,o as useOdigosApi,q as useRuleFormContext,s as useSamplingRulesFormContext,t as useSourceEditFormContext,v as useSourceInstrumentFormContext}from"./chunks/source-instrument-form-context-CNsR2QcD.js";export{O as OdigosProvider,c as checkVersionSupport,r as resolveMinSupportedVersion,u as useOdigos}from"./chunks/helpers-BfXS2wve.js";import{jsx as F}from"react/jsx-runtime";import{useMemo as P,useContext as E,createContext as T}from"react";import{P as I,t as _}from"./chunks/ui-components-DLU_wMXv.js";import{useApolloClient as w}from"@apollo/client/react";import"@apollo/client/link/error";import"@apollo/client/link/context";import"@apollo/client/utilities";import"@apollo/client/errors";import"@apollo/client";import"styled-components";import"./icons.js";import"zustand";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";const M=()=>{const o=w(),{operations:r,context:e}=a();return{multiFetch:async(t,s,n)=>{const i=r[t];return i?y(o,i,s,n,e):{results:[],allSucceeded:!1,anySucceeded:!1,successCount:0,failureCount:s.length,error:`Operation ${String(t)} not configured`}},bulkPersistSources:async(t,s)=>{const n=[];for(const i of t){const t={...e,proxyID:i},{error:a}=await x(o,r.PERSIST_SOURCES,s,t);a&&n.push(`${i}: ${a}`)}return n.length?{error:n.join(", ")}:void 0},applyConfigurations:async(t,s)=>{if(!r.UPDATE_REMOTE_CONFIG)return{error:"UPDATE_REMOTE_CONFIG not configured"};if(!t.length)return{error:"No connections selected"};const n={formData:s,connectionIds:t},i=r.UPDATE_REMOTE_CONFIG;let a;return 1===t.length?({error:a}=await x(o,i,n,e)):({error:a}=await y(o,i,t,n,e)),a?{error:a}:void 0}}},N=(o,r)=>o.platformType===I.K8s?r.K8s:[I.Vm,I.Connector,I.AwsEcs].includes(o.platformType)?r.Vm:void 0,V=o=>r=>{const e=o[r.platformType];if(!e)return;const t=Object.keys(e);if(0===t.length)return;const s=_(r.schemaVersion??r.version),n=[...t].sort((o,r)=>_(r)-_(o)).find(o=>s>=_(o));return n?e[n]:void 0},U=(o,r)=>{const e={};for(const t of Object.keys(o))e[t]=r(o[t]);return e},z=T({formType:void 0}),G=({children:o,formType:r})=>{const e=P(()=>({formType:r}),[r]);return F(z.Provider,{value:e,children:o})},$=()=>E(z);export{G as StorybookProvider,N as pickByPlatform,M as useApiForConnections,$ as useStorybook,V as versionedDocument,U as vmDialectMap};
|
|
@@ -6,12 +6,52 @@ export type BuildCatalogFieldsDataCardOptions = {
|
|
|
6
6
|
/** Skip these component types (e.g. `sourceScopes`, rendered elsewhere). */
|
|
7
7
|
skipComponentTypes?: FieldTypes[];
|
|
8
8
|
};
|
|
9
|
+
type DataCardItems = NonNullable<DataCardProps['items']>;
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* View-mode field segments. Drawers render one nested `DataCard` per segment so
|
|
12
|
+
* complex values (lists, key/value pairs, repeatable groups) get the room they
|
|
13
|
+
* need instead of being crammed into a single ellipsised cell next to scalars.
|
|
14
|
+
*
|
|
15
|
+
* - `cells` — group of scalar fields shown together with `cellsPerRow=2`.
|
|
16
|
+
* - `list` — MultiInput / CheckboxList selections; each entry is its own cell.
|
|
17
|
+
* - `pairs` — KeyValuePair rows; each `{ key, value }` is its own cell.
|
|
18
|
+
* - `group` — one MultiTabledInput row or FieldGroup entry; may nest further
|
|
19
|
+
* segments for nested lists/tables inside a FieldGroup.
|
|
20
|
+
*/
|
|
21
|
+
export type CatalogFieldSegment = {
|
|
22
|
+
kind: 'cells';
|
|
23
|
+
id: string;
|
|
24
|
+
items: DataCardItems;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'list';
|
|
27
|
+
id: string;
|
|
28
|
+
title: string;
|
|
29
|
+
items: DataCardItems;
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'pairs';
|
|
32
|
+
id: string;
|
|
33
|
+
title: string;
|
|
34
|
+
items: DataCardItems;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'group';
|
|
37
|
+
id: string;
|
|
38
|
+
title: string;
|
|
39
|
+
items?: DataCardItems;
|
|
40
|
+
segments?: CatalogFieldSegment[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Build view-mode field segments from a YAML catalog field list.
|
|
11
44
|
*
|
|
12
45
|
* Used by edit drawers (actions, instrumentation rules) for Configuration /
|
|
13
46
|
* Collect read views so new types and nested fields show up without per-type
|
|
14
47
|
* hard-coding. `values` is the bag keyed by YAML `name` (action.fields for
|
|
15
48
|
* actions; the rule root for instrumentation rules).
|
|
16
49
|
*/
|
|
17
|
-
export declare const
|
|
50
|
+
export declare const buildCatalogFieldsSegments: (values: Record<string, unknown>, yamlFields: YamlFieldProperties[], options?: BuildCatalogFieldsDataCardOptions) => CatalogFieldSegment[];
|
|
51
|
+
/**
|
|
52
|
+
* Flattened `DataCard` items from a YAML catalog field list.
|
|
53
|
+
* Prefer `buildCatalogFieldsSegments` for drawer read views so lists/groups
|
|
54
|
+
* render as dedicated cards; this helper remains for callers that need a flat list.
|
|
55
|
+
*/
|
|
56
|
+
export declare const buildCatalogFieldsDataCard: (values: Record<string, unknown>, yamlFields: YamlFieldProperties[], options?: BuildCatalogFieldsDataCardOptions) => DataCardItems;
|
|
57
|
+
export {};
|
package/lib/functions/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './build-badge-for-desired-status';
|
|
2
2
|
export * from './build-catalog-fields-data-card';
|
|
3
|
+
export * from './render-catalog-field-segments';
|
|
3
4
|
export * from './capitalize-first-letter';
|
|
4
5
|
export * from './clean-object-empty-strings-values';
|
|
5
6
|
export * from './compare-condition';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { CatalogFieldSegment } from '../build-catalog-fields-data-card';
|
|
3
|
+
/**
|
|
4
|
+
* Renders catalog field segments as nested `DataCard`s for view-mode drawers.
|
|
5
|
+
* Mirrors the destination drawer layout: scalars share a card; lists, pairs, and
|
|
6
|
+
* repeatable groups each get their own card so values aren't ellipsised.
|
|
7
|
+
*/
|
|
8
|
+
export declare const renderCatalogFieldSegments: (segments: CatalogFieldSegment[]) => ReactNode;
|
package/lib/functions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{bl as adaptInstrumentationRuleFromWire,bj as adaptInstrumentationRuleInputForWire,cl as buildBadgeForDesiredStatus,fx as buildCatalogFieldsDataCard,ca as buildCatalogFieldsSegments,fy as capitalizeFirstLetter,fz as cleanObjectEmptyStringsValues,a3 as compareCondition,fA as decimalsOnly,aZ as deepClone,eG as entityIdKey,eL as filterActions,eK as filterDestinations,cf as filterDestinationsByStream,eJ as filterSources,ew as filterSourcesByStream,fB as flattenObjectKeys,cz as formatBytes,fC as formatDuration,b5 as generateId,eD as getActionConditions,cd as getActionIcon,eE as getConditionsBooleans,cS as getContainersIcons,fD as getContainersInstrumentedCount,fE as getDeepValue,c2 as getDestinationIcon,fF as getDetectedLanguageIcons,cp as getEffectiveLanguage,cH as getEffectiveRuntimeVersion,eH as getEntityIcon,bi as getEntityId,eC as getEntityIdKey,eF as getEntityLabel,fG as getHealthBadgeLabel,bg as getIdFromSseTarget,ch as getInstrumentationRuleIcon,fH as getMainContainerLanguage,fI as getMetricForEntity,fJ as getMonitorIcon,fK as getNearestTypographySize,cR as getPlatformIcon,es as getPlatformLabel,O as getProgrammingLanguageIcon,fL as getRecursiveValues,cy as getSourceKindLabel,cv as getSourceLanguageIcons,b9 as getSseTargetFromId,cF as getStatusColor,eN as getStatusFromPodStatus,cG as getStatusIcon,cA as getStatusTypeFromOdigosHealth,fM as getValueForRange,cu as getVirtualServiceIcon,ct as getWorkloadId,cg as getYamlFieldsForDestination,fN as hasUnhealthyInstances,fO as instrumentationRuleSourceScopesFromWire,fP as instrumentationRuleSourceScopesToWire,bq as isEmpty,br as isLegalK8sLabel,db as isOverTime,fQ as isStringABoolean,fR as isTimeElapsed,cE as isValidVersion,fS as mapConditions,cn as mapDesiredStatusToConditionStatus,c8 as mapDesiredStatusesToConditions,ce as mapDestinationFieldsForDisplay,bv as mapExportedSignals,bt as mapSupportedSignals,fT as numbersOnly,fU as parseBooleanFromString,fV as parseJsonStringToPrettyString,bK as prepareDestinationFormData,fW as removeEmptyValuesFromObject,cc as renderCatalogFieldSegments,v as safeJsonParse,fX as safeJsonStringify,fY as setDeepValue,fZ as sleep,ah as splitCamelString,f_ as stringifyNonStringValues,t as trimVersion}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Action, type ActionFormData } from '../types';
|
|
2
2
|
export declare const useActionFormData: () => {
|
|
3
3
|
formData: ActionFormData;
|
|
4
|
-
formErrors: Partial<Record<"disabled" | "type" | "name" | "
|
|
4
|
+
formErrors: Partial<Record<"disabled" | "type" | "name" | "fields" | "notes" | "signals", string>>;
|
|
5
5
|
handleFormChange: (key?: string | undefined, val?: any, obj?: ActionFormData | undefined) => void;
|
|
6
6
|
resetFormData: (overrideForm?: ActionFormData | undefined) => void;
|
|
7
7
|
validateForm: (params?: {
|
package/lib/hooks.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{gf as IGNORE_OUTSIDE_CLICK_ATTR,gg as useActionFormData,gh as useBodyScroll,eI as useContainerSize,b4 as useCopy,gi as useDataStreamFormData,gj as useDestinationFormData,bm as useGenericForm,gk as useInstrumentationRuleFormData,da as useKeyDown,cB as useOnClickOutside,gl as useOverflow,gm as usePopup,ck as useScrollIntoViewWhen,f6 as useScrollTo,ez as useSessionStorage,gn as useSourceFormData,ci as useTimeAgo}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
package/lib/snippets/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './colored-span';
|
|
|
4
4
|
export * from './connector-created-modal';
|
|
5
5
|
export * from './delete-modal';
|
|
6
6
|
export * from './dynamic-field';
|
|
7
|
+
export * from './enable-disable-segment';
|
|
7
8
|
export * from './instrumentation-rule-form-sections';
|
|
8
9
|
export * from './odigos-logo-text-by-tier';
|
|
9
10
|
export * from './rich-title';
|
package/lib/snippets.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-
|
|
1
|
+
export{A as ActionType,a as Actions,R as RichTitle}from"./chunks/ui-components-DLU_wMXv.js";export{C as CancelModal,a as ConnectorCreatedModal,D as DURATION_OPTIONS,b as DeleteModal,c as DurationErrorsSection,d as DynamicActionFields,e as DynamicField,f as DynamicFields,E as EnableDisableSegment,I as InstrumentationPreviewSection,N as NOISY_PERCENTAGE_OPTIONS,O as OdigosLogoTextByTier,g as OperationSection,P as PERCENTAGE_OPTIONS,h as PercentageSection,i as PresetWithCustomInput,R as RuleInfoSection,j as RuleTypeSection,S as SamplingPreviewSection,k as SignalsCheckboxList,l as SourceScopeSection,U as UpgradeModal,W as WIDE_DRAWER_WIDTH,m as WideDrawer,Y as YamlSectionCard}from"./chunks/index--HGLHoM2.js";export{C as ColoredSpan,a as ColoredSpanVariant}from"./chunks/helpers-BfXS2wve.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{df as DrawerType,bf as ProgressKeys,eA as getDrawerTypeForAdd,cx as getDrawerTypeForEdit,ge as useDarkMode,bc as useDataStreamStore,cs as useDrawerStore,ev as useFilterStore,b7 as useNotificationStore,bd as useProgressStore,eB as useSelectedStore,be as useSetupStore}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
package/lib/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{go as Provider,gp as animations,gq as opacity,gr as palettes}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
|
@@ -204,7 +204,9 @@ export interface DesiredConditionStatus {
|
|
|
204
204
|
actionItems?: DesiredConditionActionItem[] | null;
|
|
205
205
|
}
|
|
206
206
|
export declare enum DesiredConditionActionItemType {
|
|
207
|
-
RolloutWorkload = "RolloutWorkload"
|
|
207
|
+
RolloutWorkload = "RolloutWorkload",
|
|
208
|
+
AllowConcurrentAgentsForContainer = "AllowConcurrentAgentsForContainer",
|
|
209
|
+
DisallowConcurrentAgentsForContainer = "DisallowConcurrentAgentsForContainer"
|
|
208
210
|
}
|
|
209
211
|
export interface DesiredConditionActionItem {
|
|
210
212
|
type: DesiredConditionActionItemType | string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ProgrammingLanguages } from '../common';
|
|
2
2
|
import { K8sResourceKind, OtelDistroName } from '../enum';
|
|
3
|
+
import type { WorkloadId } from '../workload';
|
|
3
4
|
export interface PersistSourceInput {
|
|
4
5
|
[clusterId: string]: {
|
|
5
6
|
namespace: string;
|
|
@@ -17,6 +18,7 @@ export interface SourceFormData {
|
|
|
17
18
|
language?: ProgrammingLanguages | null;
|
|
18
19
|
version?: string;
|
|
19
20
|
otelDistroName?: OtelDistroName | null;
|
|
21
|
+
allowConcurrentAgents?: boolean;
|
|
20
22
|
}
|
|
21
23
|
export interface ProfilingSlots {
|
|
22
24
|
activeKeys: string[];
|
|
@@ -36,3 +38,57 @@ export interface EnableProfilingResult {
|
|
|
36
38
|
maxSlots?: number;
|
|
37
39
|
activeSlots?: number;
|
|
38
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Variables for source profiling ops. K8s uses namespace/kind/name; VM agents-api
|
|
43
|
+
* uses a service key — pass `serviceName` (fallback: `name`) so Central can map
|
|
44
|
+
* to `sourceProfile(service)` / `enableSourceProfiling(service)`.
|
|
45
|
+
*/
|
|
46
|
+
export type SourceProfilingVars = WorkloadId & {
|
|
47
|
+
serviceName?: string | null;
|
|
48
|
+
};
|
|
49
|
+
/** One resolved function in a VM agent's CPU profile (agents-api `HotFunction`). */
|
|
50
|
+
export interface HotFunction {
|
|
51
|
+
name: string;
|
|
52
|
+
/** Exclusive CPU time, nanoseconds. */
|
|
53
|
+
self: number;
|
|
54
|
+
/** Inclusive CPU time, nanoseconds. */
|
|
55
|
+
total: number;
|
|
56
|
+
module: string;
|
|
57
|
+
buildId?: string | null;
|
|
58
|
+
offset?: number | null;
|
|
59
|
+
size?: number | null;
|
|
60
|
+
instrumentable?: string | null;
|
|
61
|
+
}
|
|
62
|
+
/** One service's ranked hot functions from the VM in-agent profile cache. */
|
|
63
|
+
export interface ServiceHotFunctions {
|
|
64
|
+
service: string;
|
|
65
|
+
totalNanos: number;
|
|
66
|
+
language?: string | null;
|
|
67
|
+
functions: HotFunction[];
|
|
68
|
+
}
|
|
69
|
+
export interface ProfileCacheStats {
|
|
70
|
+
services: number;
|
|
71
|
+
totalBytes: number;
|
|
72
|
+
maxSlots: number;
|
|
73
|
+
slotMaxBytes: number;
|
|
74
|
+
maxTotalBytesBudget: number;
|
|
75
|
+
evictedSlotsTotal: number;
|
|
76
|
+
}
|
|
77
|
+
export interface ProfileHostInfo {
|
|
78
|
+
os: string;
|
|
79
|
+
kernel: string;
|
|
80
|
+
arch: string;
|
|
81
|
+
hostname: string;
|
|
82
|
+
}
|
|
83
|
+
/** Result of agents-api `profileHotFunctions` (VM continuous profiling). */
|
|
84
|
+
export interface HotFunctionsResult {
|
|
85
|
+
/** Profiling pipeline wired (config enabled + diagnostic destination present). */
|
|
86
|
+
enabled: boolean;
|
|
87
|
+
dynamicInstrumentation: boolean;
|
|
88
|
+
services: ServiceHotFunctions[];
|
|
89
|
+
cache?: ProfileCacheStats | null;
|
|
90
|
+
host?: ProfileHostInfo | null;
|
|
91
|
+
}
|
|
92
|
+
export interface GetProfileHotFunctionsVars {
|
|
93
|
+
topN?: number | null;
|
|
94
|
+
}
|
|
@@ -71,6 +71,7 @@ export interface K8sWorkloadContainerOverrides {
|
|
|
71
71
|
containerName: string;
|
|
72
72
|
otelDistroName?: OtelDistroName | null;
|
|
73
73
|
runtimeInfo?: K8sWorkloadRuntimeInfoContainer | null;
|
|
74
|
+
allowConcurrentAgents?: boolean | null;
|
|
74
75
|
}
|
|
75
76
|
export declare enum K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode {
|
|
76
77
|
SampledSpansOnly = "sampled_spans_only",
|
package/lib/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{b_ as ActionCategoryTypes,
|
|
1
|
+
export{b_ as ActionCategoryTypes,bo as ActionKeyTypes,bp as ActionType,f7 as AgentInjectedReason,f8 as BooleanOperation,c6 as CloudConnectorFeatureKey,ag as CodeAttributesKeyTypes,f9 as ConditionType,ba as Crud,aa as CustomInstrumentationsKeyTypes,cI as DesiredConditionActionItemType,cm as DesiredStateProgress,fa as DestinationTypes,bb as EntityTypes,bF as ExtractionDataFormat,n as FieldTypes,ac as GolangCustomProbe,ae as HeadersCollectionKeyTypes,y as InputTypes,fb as InstallationMethod,fc as InstallationStatus,a9 as InstrumentationRuleType,fd as IntrumentationStatus,ab as JavaCustomProbe,fe as JsonOperation,bD as K8sAttributesFrom,bx as K8sResourceKind,ff as K8sWorkloadContainerAgentConfigTracesHeadSamplingSpanMetricsMode,fg as ListDirection,fh as NumberOperation,fi as OtelDistroName,fj as OtherEntityTypes,af as PayloadCollectionKeyTypes,ad as PhpCustomProbe,P as PlatformType,fk as PodContainerLifecycleStatus,fl as PodContainerStatus,fm as PodPhase,fn as Profile,M as ProgrammingLanguages,fo as SIGNAL_KEY_TO_TYPE,fp as SIGNAL_TYPE_TO_KEY,fq as SignalKey,bu as SignalType,fr as SortDirection,S as StatusType,fs as StringOperation,b as Tier,ft as WorkloadRolloutReason,eO as WorkloadRolloutStatus}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|
package/lib/visuals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{fu as VISUAL_ODIGOS_LOGO_HEIGHT,fv as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,fw as VisualOdigosLogo,dq as VisualPurpleRings}from"./chunks/ui-components-DLU_wMXv.js";import"react/jsx-runtime";import"styled-components";import"./icons.js";import"zustand";import"react";import"javascript-time-ago";import"javascript-time-ago/locale/en";import"react-dom";import"prism-react-renderer";import"zustand/middleware";import"react-error-boundary";import"virtua";
|