Skip to content

Commit

Permalink
Merge branch 'main' into cases_alert_schema
Browse files Browse the repository at this point in the history
  • Loading branch information
kibanamachine authored Dec 13, 2022
2 parents f2f71f4 + bb269f5 commit c8fa6d7
Show file tree
Hide file tree
Showing 560 changed files with 3,031 additions and 11,419 deletions.
7 changes: 1 addition & 6 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -497,20 +497,15 @@
/x-pack/plugins/security_solution/public/common/components/navigation @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/news_feed @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/overview_description_list @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/paginated_table @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/sidebar_header @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/stat_items @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/tables @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/top_n @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/components/with_hover_actions @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/containers/hosts_risk @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/containers/matrix_histogram @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/common/lib/cell_actions @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/cases @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/hosts @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/network @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/explore @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/overview @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/public/users @elastic/security-threat-hunting-explore

/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/hosts @elastic/security-threat-hunting-explore
/x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/matrix_histogram @elastic/security-threat-hunting-explore
Expand Down
3 changes: 3 additions & 0 deletions nav-kibana-dev.docnav.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,9 @@
{
"label": "Contributors Newsletters",
"items": [
{
"id": "kibNovember2022ContributorNewsletter"
},
{
"id": "kibOctober2022ContributorNewsletter"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,18 @@ import { getCriticalPath } from './get_critical_path';

describe('getCriticalPath', () => {
function getCriticalPathFromEvents(events: ApmFields[]) {
const waterfall = getWaterfall(
{
const entryTransaction = dedot(events[0]!, {}) as Transaction;
const waterfall = getWaterfall({
traceItems: {
traceDocs: events.map(
(event) => dedot(event, {}) as Transaction | Span
),
errorDocs: [],
exceedsMax: false,
linkedChildrenOfSpanCountBySpanId: {},
spanLinksCountById: {},
},
events[0]['transaction.id']!
);
entryTransaction,
});

return {
waterfall,
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 11 additions & 1 deletion x-pack/plugins/apm/common/es_fields/apm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

export const TIMESTAMP = 'timestamp.us';
export const AGENT = 'agent';
export const AGENT_NAME = 'agent.name';
export const AGENT_VERSION = 'agent.version';
Expand Down Expand Up @@ -81,6 +81,13 @@ export const SPAN_LINKS = 'span.links';
export const SPAN_LINKS_TRACE_ID = 'span.links.trace.id';
export const SPAN_LINKS_SPAN_ID = 'span.links.span.id';

export const SPAN_COMPOSITE_COUNT = 'span.composite.count';
export const SPAN_COMPOSITE_SUM = 'span.composite.sum.us';
export const SPAN_COMPOSITE_COMPRESSION_STRATEGY =
'span.composite.compression_strategy';

export const SPAN_SYNC = 'span.sync';

// Parent ID for a transaction or span
export const PARENT_ID = 'parent.id';

Expand All @@ -89,6 +96,7 @@ export const ERROR_GROUP_ID = 'error.grouping_key';
export const ERROR_CULPRIT = 'error.culprit';
export const ERROR_LOG_LEVEL = 'error.log.level';
export const ERROR_LOG_MESSAGE = 'error.log.message';
export const ERROR_EXCEPTION = 'error.exception';
export const ERROR_EXC_MESSAGE = 'error.exception.message'; // only to be used in es queries, since error.exception is now an array
export const ERROR_EXC_HANDLED = 'error.exception.handled'; // only to be used in es queries, since error.exception is now an array
export const ERROR_EXC_TYPE = 'error.exception.type';
Expand Down Expand Up @@ -151,3 +159,5 @@ export const INDEX = '_index';
// Mobile
export const NETWORK_CONNECTION_TYPE = 'network.connection.type';
export const DEVICE_MODEL_NAME = 'device.model.name';

export const CHILD_ID = 'child.id';
88 changes: 88 additions & 0 deletions x-pack/plugins/apm/common/waterfall/typings.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import { Exception } from '../../typings/es_schemas/raw/error_raw';
import { EventOutcome } from '../../typings/es_schemas/raw/fields/event_outcome';
import { SpanLink } from '../../typings/es_schemas/raw/fields/span_links';
import { TimestampUs } from '../../typings/es_schemas/raw/fields/timestamp_us';
import { AgentName } from '../../typings/es_schemas/ui/fields/agent';

export interface WaterfallTransaction {
timestamp: TimestampUs;
trace: { id: string };
service: {
name: string;
environment?: string;
};
agent: { name: AgentName };
event?: { outcome?: EventOutcome };
parent?: { id?: string };
processor: { event: 'transaction' };
transaction: {
duration: { us: number };
id: string;
name: string;
type: string;
result?: string;
};
faas?: {
coldstart?: boolean;
};
span?: {
links?: SpanLink[];
};
}

export interface WaterfallSpan {
timestamp: TimestampUs;
trace: { id: string };
service: {
name: string;
environment?: string;
};
agent: { name: AgentName };
event?: { outcome?: EventOutcome };
parent?: { id?: string };
processor: { event: 'span' };
span: {
id: string;
type: string;
subtype?: string;
action?: string;
name: string;
composite?: {
count: number;
sum: { us: number };
compression_strategy: string;
};
sync?: boolean;
duration: { us: number };
links?: SpanLink[];
};
transaction?: {
id: string;
};
child?: { id: string[] };
}

export interface WaterfallError {
timestamp: TimestampUs;
trace?: { id: string };
transaction?: { id: string };
parent?: { id: string };
error: {
id: string;
log?: {
message: string;
};
exception?: Exception[];
grouping_key: string;
};
service: {
name: string;
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ describe('transaction_details/distribution', () => {
describe('TransactionDistribution', () => {
it('shows loading indicator when the service is running and returned no results yet', async () => {
jest.spyOn(useFetcherModule, 'useFetcher').mockImplementation(() => ({
data: {},
data: undefined,
refetch: () => {},
status: useFetcherModule.FETCH_STATUS.LOADING,
}));
Expand All @@ -104,11 +104,21 @@ describe('transaction_details/distribution', () => {
});

it("doesn't show loading indicator when the service isn't running", async () => {
jest.spyOn(useFetcherModule, 'useFetcher').mockImplementation(() => ({
data: { percentileThresholdValue: 1234, overallHistogram: [] },
refetch: () => {},
status: useFetcherModule.FETCH_STATUS.SUCCESS,
}));
jest
.spyOn(useFetcherModule, 'useFetcher')
.mockImplementationOnce(() => ({
data: {
traceItems: {},
entryTransaction: {},
},
refetch: () => {},
status: useFetcherModule.FETCH_STATUS.SUCCESS,
}))
.mockImplementationOnce(() => ({
data: { percentileThresholdValue: 1234, overallHistogram: [] },
refetch: () => {},
status: useFetcherModule.FETCH_STATUS.SUCCESS,
}));

render(
<Wrapper>
Expand Down
Loading

0 comments on commit c8fa6d7

Please sign in to comment.