Member Junction
    Preparing search index...

    AI Usage Explorer Component.

    Provides a multidimensional pivot over AI usage metrics (cost, tokens, runs, p95 latency, cache-read share, unpriced %) across dimensions (agent, prompt, model, vendor, user, tenant, source kind, configuration). Configures and reads aggregated usage via AIInstrumentationService.

    The pivot's configuration inputs (MeasureColumns, DimensionColumns, TimeColumn) are FIELDS, rebuilt only by the setters of the selections they derive from. As getters they returned a fresh array on every evaluation, so every change-detection pass looked like a new input: dev mode threw ExpressionChangedAfterItHasBeenChecked and prod re-pivoted continuously.

    Hierarchy (View Summary)

    Implements

    • OnInit
    Index

    Constructors

    Properties

    ColumnLabels: Record<string, string> = COLUMN_LABELS
    ComparisonEnabled: boolean = false
    DimensionColumns: string[] = ...

    Group-by columns — replaced only when SelectedGroupBy / SelectedSecondarySplit change.

    DimensionOptions: { text: string; value: string }[] = ...
    GrainOptions: { text: string; value: string }[] = ...
    HiddenColumns: string[] = ...

    ID columns grouped by but not shown (their name column is shown instead).

    IsLoading: boolean = false
    MeasureColumns: PivotMeasureColumn[] = ...

    Measures for the selected measure option — replaced only when SelectedMeasure changes.

    MeasureOptions: { text: string; value: string }[] = ...
    PivotRows: Record<string, unknown>[] = []
    Provider: IMetadataProvider | null

    If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.

    SecondarySplitOptions: { text: string; value: string }[] = ...
    TimeColumn: string = 'DayBucket'

    Time bucket column for the selected grain.

    "ɵdir": unknown
    "ɵfac": ɵɵFactoryDeclaration<BaseAngularComponent, never>

    Accessors

    • get ProviderToUse(): IMetadataProvider

      Returns either the default Metadata provider or the one specified in the Provider property, if it was specified

      Returns IMetadataProvider

    • get RunQueryToUse(): IRunQueryProvider

      Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified

      Returns IRunQueryProvider

    • get RunViewToUse(): IRunViewProvider

      Returns either the default RunView provider or the one specified in the Provider property, if it was specified

      Returns IRunViewProvider

    Methods