diff --git a/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.scss b/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.scss index cc6fda294..94a5792d9 100644 --- a/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.scss +++ b/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.scss @@ -19,6 +19,9 @@ grid-template-columns: auto min-content; .filter-button { + display: flex; + align-items: center; + margin-bottom: 2px; visibility: hidden; } diff --git a/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.ts b/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.ts index 81db89a0b..2dd5758f2 100644 --- a/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.ts +++ b/projects/observability/src/shared/components/span-detail/call/headers/span-detail-call-headers.component.ts @@ -24,15 +24,17 @@ import { MetadataService } from '../../../../services/metadata/metadata.service' >
{{ record.value }}
- + + +
@@ -56,6 +58,9 @@ export class SpanDetailCallHeadersComponent implements OnChanges { @Input() public scope?: string; + @Input() + public showFilters: boolean = true; + public records$?: Observable; public label?: string; @@ -69,7 +74,7 @@ export class SpanDetailCallHeadersComponent implements OnChanges { this.buildRecords(); } - if (changes.scope && this.scope) { + if (changes.scope && this.scope && this.showFilters) { this.metadata$ = this.metadataService.getAllAttributes(this.scope).pipe( map(metadata => metadata.map(attributeMetadata => ({ diff --git a/projects/observability/src/shared/components/span-detail/request/span-request-detail.component.ts b/projects/observability/src/shared/components/span-detail/request/span-request-detail.component.ts index 34bc54797..292cb6c28 100644 --- a/projects/observability/src/shared/components/span-detail/request/span-request-detail.component.ts +++ b/projects/observability/src/shared/components/span-detail/request/span-request-detail.component.ts @@ -13,6 +13,7 @@ import { SpanDetailLayoutStyle } from '../span-detail-layout-style'; @@ -21,6 +22,7 @@ import { SpanDetailLayoutStyle } from '../span-detail-layout-style'; @@ -47,6 +49,9 @@ export class SpanRequestDetailComponent { @Input() public scope?: string; + + @Input() + public showFilters?: boolean; } const enum RequestFieldName { diff --git a/projects/observability/src/shared/components/span-detail/response/span-response-detail.component.ts b/projects/observability/src/shared/components/span-detail/response/span-response-detail.component.ts index 75c1f7551..b7251620f 100644 --- a/projects/observability/src/shared/components/span-detail/response/span-response-detail.component.ts +++ b/projects/observability/src/shared/components/span-detail/response/span-response-detail.component.ts @@ -13,6 +13,7 @@ import { SpanDetailLayoutStyle } from '../span-detail-layout-style'; @@ -23,6 +24,7 @@ import { SpanDetailLayoutStyle } from '../span-detail-layout-style'; [data]="this.responseCookies" [metadata]="this.cookieMetadata" [scope]="this.scope" + [showFilters]="this.showFilters" fieldName="${ResponseFieldName.Cookies}" title="Cookies" > @@ -52,6 +54,9 @@ export class SpanResponseDetailComponent { @Input() public scope?: string; + + @Input() + public showFilters?: boolean; } const enum ResponseFieldName { diff --git a/projects/observability/src/shared/components/span-detail/span-detail.component.ts b/projects/observability/src/shared/components/span-detail/span-detail.component.ts index e1d5bfd76..449a004ad 100644 --- a/projects/observability/src/shared/components/span-detail/span-detail.component.ts +++ b/projects/observability/src/shared/components/span-detail/span-detail.component.ts @@ -45,6 +45,7 @@ import { SpanDetailTab } from './span-detail-tab'; [requestCookies]="this.spanData?.requestCookies" [requestBody]="this.spanData?.requestBody" [scope]="this.scope" + [showFilters]="this.showFilters" > @@ -56,10 +57,15 @@ import { SpanDetailTab } from './span-detail-tab'; [cookieMetadata]="this.spanData?.responseCookiesMetadata" [responseBody]="this.spanData?.responseBody" [scope]="this.scope" + [showFilters]="this.showFilters" > - + @@ -95,6 +101,9 @@ export class SpanDetailComponent implements OnChanges { @Input() public scope: string = ''; + @Input() + public showFilters: boolean = true; + @Input() public showAttributesTab: boolean = true; @Output() diff --git a/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.scss b/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.scss index 4bdf2cdf2..b82452eef 100644 --- a/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.scss +++ b/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.scss @@ -16,6 +16,9 @@ grid-template-columns: auto min-content; .filter-button { + display: flex; + align-items: center; + margin-bottom: 2px; visibility: hidden; } diff --git a/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.ts b/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.ts index 1b83c9cf0..525f7430e 100644 --- a/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.ts +++ b/projects/observability/src/shared/components/span-detail/tags/span-tags-detail.component.ts @@ -17,15 +17,17 @@ import { MetadataService } from '../../../services/metadata/metadata.service';
{{ record.value }}
- + + +
@@ -39,6 +41,9 @@ export class SpanTagsDetailComponent implements OnChanges { @Input() public scope?: string; + @Input() + public showFilters: boolean = true; + public tagRecords$?: Observable; public metadata$?: Observable; @@ -49,7 +54,7 @@ export class SpanTagsDetailComponent implements OnChanges { this.buildTagRecords(); } - if (changes.scope && this.scope) { + if (changes.scope && this.scope && this.showFilters) { this.metadata$ = this.metadataService.getAllAttributes(this.scope).pipe( map(metadata => metadata.map(attributeMetadata => ({ diff --git a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget-renderer.component.ts b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget-renderer.component.ts index da903557c..1e94b2616 100644 --- a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget-renderer.component.ts +++ b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget-renderer.component.ts @@ -68,6 +68,7 @@ import { MarkerSelection, WaterfallChartComponent } from './waterfall/waterfall- [showTitleHeader]="true" layout="${SpanDetailLayoutStyle.Vertical}" [activeTabLabel]="this.activeTabLabel" + [showFilters]="this.model.showFilters" (closed)="this.closeSheet()" >
diff --git a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget.model.ts b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget.model.ts index 2b37b5e5d..f96e9d961 100644 --- a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget.model.ts +++ b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall-widget.model.ts @@ -1,4 +1,4 @@ -import { Model, ModelApi, ModelProperty, STRING_PROPERTY } from '@hypertrace/hyperdash'; +import { BOOLEAN_PROPERTY, Model, ModelApi, ModelProperty, STRING_PROPERTY } from '@hypertrace/hyperdash'; import { ModelInject, MODEL_API } from '@hypertrace/hyperdash-angular'; import { Observable } from 'rxjs'; import { WaterfallData } from './waterfall/waterfall-chart'; @@ -13,6 +13,12 @@ export class WaterfallWidgetModel { }) public title: string = ''; + @ModelProperty({ + key: 'showFilters', + type: BOOLEAN_PROPERTY.type + }) + public showFilters?: boolean; + @ModelInject(MODEL_API) private readonly api!: ModelApi;