-
+
+
@@ -21,6 +22,9 @@ export class SpanResponseDetailComponent {
@Input()
public responseHeaders?: Dictionary;
+ @Input()
+ public responseCookies?: Dictionary;
+
@Input()
public responseBody?: string;
diff --git a/projects/observability/src/shared/components/span-detail/span-data.ts b/projects/observability/src/shared/components/span-detail/span-data.ts
index 1cfbe7686..cd1464222 100644
--- a/projects/observability/src/shared/components/span-detail/span-data.ts
+++ b/projects/observability/src/shared/components/span-detail/span-data.ts
@@ -7,8 +7,10 @@ export interface SpanData {
apiName?: string;
protocolName?: string;
requestHeaders: Dictionary;
+ requestCookies: Dictionary;
requestBody: string;
responseHeaders: Dictionary;
+ responseCookies: Dictionary;
responseBody: string;
tags: Dictionary;
requestUrl: string;
diff --git a/projects/observability/src/shared/components/span-detail/span-detail.component.test.ts b/projects/observability/src/shared/components/span-detail/span-detail.component.test.ts
index 22b8fb71c..bc37289f8 100644
--- a/projects/observability/src/shared/components/span-detail/span-detail.component.test.ts
+++ b/projects/observability/src/shared/components/span-detail/span-detail.component.test.ts
@@ -18,8 +18,10 @@ describe('Span detail component', () => {
apiName: 'My API Name',
protocolName: 'My Protocol Name',
requestHeaders: { header1: 'value1', header2: 'value2' },
+ requestCookies: { cookie1: 'value1', cookie2: 'value2' },
requestBody: '[{"data": 5000}]',
responseHeaders: { header1: 'value1', header2: 'value2' },
+ responseCookies: { cookie1: 'value1', cookie2: 'value2' },
responseBody: '[{"data": 5000}]',
tags: { tag1: 'value1', tag2: 'value2' },
requestUrl: 'test-url',
@@ -43,8 +45,10 @@ describe('Span detail component', () => {
apiName: 'My API Name',
protocolName: 'My Protocol Name',
requestHeaders: {},
+ requestCookies: {},
requestBody: '',
responseHeaders: { header1: 'value1', header2: 'value2' },
+ responseCookies: { cookie1: 'value1', cookie2: 'value2' },
responseBody: '[{"data": 5000}]',
tags: { tag1: 'value1', tag2: 'value2' },
requestUrl: 'test-url',
@@ -69,8 +73,10 @@ describe('Span detail component', () => {
apiName: 'My API Name',
protocolName: 'My Protocol Name',
requestHeaders: {},
+ requestCookies: {},
requestBody: '[{"data": 5000}]',
responseHeaders: { header1: 'value1', header2: 'value2' },
+ responseCookies: { cookie1: 'value1', cookie2: 'value2' },
responseBody: '[{"data": 5000}]',
tags: { tag1: 'value1', tag2: 'value2' },
requestUrl: 'test-url',
@@ -94,8 +100,10 @@ describe('Span detail component', () => {
apiName: 'My API Name',
protocolName: 'My Protocol Name',
requestHeaders: { header1: 'value1', header2: 'value2' },
+ requestCookies: { cookie1: 'value1', cookie2: 'value2' },
requestBody: '[{"data": 5000}]',
responseHeaders: {},
+ responseCookies: {},
responseBody: '',
tags: { tag1: 'value1', tag2: 'value2' },
requestUrl: 'test-url',
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 44c67aaf1..9ec042f26 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
@@ -30,6 +30,7 @@ import { SpanDetailTab } from './span-detail-tab';
class="request"
[layout]="this.layout"
[requestHeaders]="this.spanData.requestHeaders"
+ [requestCookies]="this.spanData.requestCookies"
[requestBody]="this.spanData.requestBody"
>
@@ -38,6 +39,7 @@ import { SpanDetailTab } from './span-detail-tab';
class="response"
[layout]="this.layout"
[responseHeaders]="this.spanData.responseHeaders"
+ [responseCookies]="this.spanData.responseCookies"
[responseBody]="this.spanData.responseBody"
>
@@ -78,8 +80,14 @@ export class SpanDetailComponent implements OnChanges {
public ngOnChanges(changes: TypedSimpleChanges): void {
if (changes.spanData) {
- this.showRequestTab = !isEmpty(this.spanData?.requestHeaders) || !isEmpty(this.spanData?.requestBody);
- this.showResponseTab = !isEmpty(this.spanData?.responseHeaders) || !isEmpty(this.spanData?.responseBody);
+ this.showRequestTab =
+ !isEmpty(this.spanData?.requestHeaders) ||
+ !isEmpty(this.spanData?.requestCookies) ||
+ !isEmpty(this.spanData?.requestBody);
+ this.showResponseTab =
+ !isEmpty(this.spanData?.responseHeaders) ||
+ !isEmpty(this.spanData?.responseCookies) ||
+ !isEmpty(this.spanData?.responseBody);
this.showExitCallsTab = !isEmpty(this.spanData?.exitCallsBreakup);
this.showLogEventsTab = !isEmpty(this.spanData?.logEvents);
this.totalLogEvents = (this.spanData?.logEvents ?? []).length;
diff --git a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall/waterfall-chart.ts b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall/waterfall-chart.ts
index 0be93223d..be539ae97 100644
--- a/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall/waterfall-chart.ts
+++ b/projects/observability/src/shared/dashboard/widgets/waterfall/waterfall/waterfall-chart.ts
@@ -18,8 +18,10 @@ export interface WaterfallData {
apiName?: string;
spanType: SpanType;
requestHeaders?: Dictionary;
+ requestCookies?: Dictionary;
requestBody?: string;
responseHeaders?: Dictionary;
+ responseCookies?: Dictionary;
responseBody?: string;
tags: Dictionary;
errorCount: number;