Invantive Trace voortaan in NDJSON-formaat

Vanaf versie 20.2.70 wordt het tekst-gebaseerde opslagformaat voor Invantive Trace vervangen door het NDJSON-formaat. Dankzij het NDJSON-formaat is het eenvoudiger om grote aantallen tracebestanden te doorzoeken. Ook wordt het eenvoudig om tracebestanden te laden in Amazon CloudWatch en ElasticSearch.

Het NDJSON-formaat heeft een regel per melding in JSON-formaat:

{"Message":"Invantive trace forwarder started.","MessageCode":null,"Occurred":"2021-10-21T17:05:46.8931234Z","Id":2,"ThreadId":1,"SessionId":"WPF-OnStartup-23e28338-f688-4df9-bbad-5d66ca2ea5de","PoolIdentityId":null,"CallingProviderAlias":null}

De tracebestanden kunnen ook opgevraagd worden via Invantive SQL met bijvoorbeeld:

select fle.file_path
,      msg.id
,      msg.thread_id
,      msg.session_id
,      msg.pool_identity_id
,      msg.message_code
,      msg.occurred_utc
,      msg.message_text
,      msg.calling_provider_alias
from   SYSTEMPROPERTIES@DataDictionary spy
join   files@os(spy.value, 'invantive-trace*.ndjson', true) fle
join   ndjsontable
       ( passing file fle.file_path
         ignore invalid line
         columns metadata_type            varchar2  not null label 'Metadata Type'            path 'MetadataType'
         ,       id                       int64     not null label 'ID'                       path 'Id'
         ,       thread_id                int32     not null label 'Thread ID'                path 'ManagedThreadId'
         ,       session_id               varchar2  not null label 'Session ID'               path 'SessionId'
         ,       pool_identity_id         varchar2      null label 'Pool Identity'            path 'PoolIdentityId'
         ,       message_code             varchar2      null label 'Message Code'             path 'MessageCode'
         ,       occurred_utc             timestamp not null label 'Occurred (UTC)'           path 'OccurredUtc'
         ,       message_text             varchar2      null label 'Message'                  path 'Message'
         ,       calling_provider_alias   varchar2      null label 'Alias'                    path 'CallingProviderAlias'
         ,       machine_name_full        varchar2      null label 'Machine'                  path 'MachineNameFull'
         ,       user_logon_code          varchar2      null label 'Logon Code'               path 'UserLogonCodeWithDomain'
         ,       ns                       int           null label 'ns'                       path 'Ns'
         ,       process_id               int           null label 'Process ID'               path 'ProcessId'
         ,       logging_level            int           null label 'Logging Level'            path 'LoggingLevel'
         ,       uid                      guid          null label 'UID'                      path 'Uid'
         ,       natural_key              varchar2      null label 'Natural Key'              path 'NaturalKey'
         ,       billing_pool_identity_id varchar2      null label 'Billing Pool Identity ID' path 'BillingPoolIdentityId'
         ,       gui_action               varchar2      null label 'GUI Action'               path 'GuiAction'
         ,       gui_ip_address           varchar2      null label 'GUI IP Address'           path 'GuiExternalIpAddress'
         ,       gui_language             varchar2      null label 'GUI Language'             path 'GuiLanguage'
         ,       gui_module               varchar2      null label 'GUI Module'               path 'GuiModuleName'
         ,       gui_version              varchar2      null label 'GUI Version'              path 'GuiModuleVersion'
         ,       gui_os_user              varchar2      null label 'GUI OS User'              path 'GuiOsUser'
         ,       gui_user                 varchar2      null label 'GUI User'                 path 'GuiUser'
         ,       user_email_address       varchar2      null label 'User Email Address'       path 'UserEmailAddress'
         ,       request_id               varchar2      null label 'Request ID'               path 'RequestId'
         ,       execution_options_id     varchar2      null label 'Execution Options ID'     path 'ExecutionOptionsId'
         ,       executable_name          varchar2      null label 'Executable Name'          path 'ExecutableName'
         ,       user_name                varchar2      null label 'User Name'                path 'UserName'
         ,       parameter_1              varchar2      null label 'Parameter #1'             path 'Parameter1'
         ,       parameter_2              varchar2      null label 'Parameter #2'             path 'Parameter2'
         ,       parameter_3              varchar2      null label 'Parameter #3'             path 'Parameter3'
         ,       parameter_4              varchar2      null label 'Parameter #4'             path 'Parameter4'
         ,       parameter_5              varchar2      null label 'Parameter #5'             path 'Parameter5'
         ,       parameter_6              varchar2      null label 'Parameter #6'             path 'Parameter6'
         ,       parameter_7              varchar2      null label 'Parameter #7'             path 'Parameter7'
         ,       parameter_8              varchar2      null label 'Parameter #8'             path 'Parameter8'
         ,       parameter_9              varchar2      null label 'Parameter #9'             path 'Parameter9'
         ,       parameter_10             varchar2      null label 'Parameter #10'            path 'Parameter10'
       )
       msg
where  spy.name = 'environment-trace-log-folder'
limit 10000
order
by     fle.file_path
,      msg.id