From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 899A03858D33; Fri, 31 Mar 2023 13:16:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 899A03858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1680268602; bh=VL5rglCGQnOvNP53quVqzSWXdPKVb0u7p6WLFKWWxLE=; h=From:To:Subject:Date:In-Reply-To:References:From; b=FkqWKip2ab2m+++mcS3nJeEV4GxiOkcnZxXkaJhsFXwMS6IwyJWpDOo3biZuic+sh 3G1CwPylUv5dDPBGPbSbBRS3r8Vb1zqh0P8mFEiDKZYCXL7+FGIBFqji2s7SWV8GVm NASwuKT+8cHaxTzuYxkje3Vb5Al6D1oNMVoEP/I4= From: "dmalcolm at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug analyzer/109361] RFE: SARIF output could contain timing/profile information Date: Fri, 31 Mar 2023 13:16:42 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: analyzer X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dmalcolm at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: dmalcolm at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109361 --- Comment #1 from David Malcolm --- Some existing SARIF properties we could generate: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.20.7 startTimeUtc property An invocation object MAY contain a property named startTimeUtc whose value = is a string in the format specified in =C2=A73.9, specifying the UTC date and ti= me at which the invocation started. 3.20.8 endTimeUtc property An invocation object MAY contain a property named endTimeUtc whose value is= a string in the format specified in =C2=A73.9, specifying the UTC date and ti= me at which the invocation ended. 3.38.12 executionTimeUtc property A threadFlowLocation object MAY contain a property named executionTimeUtc w= hose value is a string in the format specified in =C2=A73.9, specifying the UTC = date and time at which the thread of execution through the code reached this locatio= n. 3.48.2 firstDetectionTimeUtc property A resultProvenance object MAY contain a property named firstDetectionTimeUtc whose value is a string in the format specified in =C2=A73.9, specifying th= e UTC date and time at which the result was first detected. It SHOULD specify the start time of the run in which the result was first detected, as opposed to, for example, the time within the run at which the result was actually generated. NOTE: Using the run=E2=80=99s start time makes it possible to group togethe= r results that were first detected in the same run. 3.48.3 lastDetectionTimeUtc property A resultProvenance object MAY contain a property named lastDetectionTimeUtc whose value is a string in the format specified in =C2=A73.9, specifying th= e UTC date and time at which the result was most recently detected. It SHOULD spe= cify the start time of the run in which the result was most recently detected, as opposed to, for example, the time within the run at which the result was actually generated. NOTE: Using the run=E2=80=99s start time makes it possible to group togethe= r results that were detected in the same run. If lastDetectionTimeUtc is absent, its default value SHALL be determined as follows: 1. If run.invocations is present, and if the startTimeUtc property (=C2=A73.20.7) is present on any of the invocation objects (=C2=A73.20) in = that array, then the default is the earliest of those times. 2. Otherwise, there is no default. 3.58.8 timeUtc property A notification object MAY contain a property named timeUtc whose value is a string in the format specified =C2=A73.9, specifying the UTC date and time = at which the analysis tool generated the notification. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ or perhaps we could use a property bag (e.g. to capture timevar information= )=