From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 5CFA03591A1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=default; t=1628016021; bh=Y3ue0NmJ08na6hNBEc4TKwfrQxqjle3ndLp91mKjI0g=; h=Date:From:To:Message-ID:MIME-Version; b=N25jlfSLeutcAY8bU79/pHPDSwNOJ7yyIvNxkV25m+ea1HQo/E6q5qnh4CBZ43LRE k7NKZz/xh18delrWCmxgMsvfb1zNZL3gjJg1KKYgYUk+LB43kp5q5r4kH6enylrcBt 0y5aoO6VNMUGZrdy+5/YrNAk4FJwx8QA173KOanx0aJdBJa5jFso+pYHgasnjfVoxK LPEjZOEzygic/Fh4Gcl1QQ0nYdPm7YfdfVRxiKlP5qdJ+FIw5OGoIr/bDOuFczHp7v gwNADyFA1JFlEYdJp6MLGOCJdEhyrdNMK7tTLMGwQ7+09m0wK8f5DtHHiJOinOWfI1 /yWyALPruDvfQ== Date: Tue, 3 Aug 2021 14:40:21 -0400 (EDT) From: Mathieu Desnoyers Message-ID: <1790050742.4759.1628016021132.JavaMail.zimbra@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: [diamon-discuss] =?utf-8?q?LTTng_2=2E13=2E0_-_Nordicit=C3=A9_-_Li?= =?utf-8?q?nux_kernel_and_user-space_tracer?= List-Id: DiaMon diagnostic and monitoring workgroup general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: lttng-dev Cc: Diamon discuss , Jeremie Galarneau , linux-kernel , linux-trace-users Hi everyone, =20 Today is the official release of LTTng 2.13 - Nordicit=C3=A9! It is the res= ult of one year of development from most of the EfficiOS team. The most notable features of this new release are: - Event-rule matches condition triggers and new actions, allowing interna= l actions or external monitoring applications to quickly react when kerne= l or user-space instrumentation is hit, - Notification payload capture, allowing external monitoring applications to read elements of the instrumentation payload when instrumentation is hit. - Instrumentation API: vtracef and vtracelog (LTTng-UST), - User space time namespace context (LTTng-UST and LTTng-modules). This release is named after "Nordicit=C3=A9", the product of a collaboratio= n between Champ Libre and Bor=C3=A9ale. This farmhouse IPA is brewed with Kveik yeast= and Qu=C3=A9bec-grown barley, oats and juniper branches. The result is a remark= able fruity hazy golden IPA that offers a balanced touch of resinous and woodsy bitterness. Based on the LTTng project's documented stable releases lifetime, this 2.13 release coincides with the end-of-life (EOL) of the LTTng 2.11 release seri= es. Read on for a short description of each of the new features and the links to this release. A prettified version of this announcement will be available soon on GitHub: https://github.com/lttng/lttng-tools/releases/tag/v2.13.0 Note on LTTng-UST backward compatibility --- - soname major version change This release changes the LTTng-UST soname major from 0 to 1. The event notifier (triggers using an event-rule-matches condition) functionality required a significant rework of public data structures whi= ch should never have been made public in the first place. Bumping the soname major to 1, will require applications and tracepoint providers to be rebuilt against an updated LTTng-UST to use it. Old applications and tracepoint providers linked against libraries with major soname 0 should be able to co-exist on the same system. - Building probe providers using a C++ compiler requires C++11 - API namespaceing The LTTng-UST API is now systematically namespaced under `lttng_ust_*` (e= .g `tracepoint()` becomes `lttng_ust_tracepoint()`). However, the non-namespaced names are still exposed to maintain API compatibility. Event-rule matches condition and new actions --- Expanding the trigger infrastructure and making it usable through the `lttn= g` client was the core focus of this release. A trigger is an association between a condition and one or more actions. Wh= en the condition associated to a trigger is met, the actions associated to tha= t trigger are executed. The tracing does not have to be active for the condit= ions to be met, and triggers are independent from tracing sessions. Since their introduction as part of LTTng 2.10, new conditions and actions = were added to make this little-known mechanism more flexible. For instance, before this release, triggers supported the following conditi= on types: - Buffer usage exceeded a given threshold, - Buffer usage went under a configurable threshold, - A session rotation occurred, - A session rotation completed. A _notify_ action could be used to send a notification to a third party applications whenever those conditions were met. This made it possible, for instance, to disable certain event rules if the tracing buffers were almost full. It could also be used to wait for session rotations to be completed to start processing the resulting trace chunk archives as part of various post-processing trace analyses. This release introduces a new powerful condition type: event-rule matches. This type of condition is met when the tracer encounters an event matching = the given even rule. The arguments describing the event rule are the same as th= ose describing the event rules of the `enable-event` command. While this is not intended as a general replacement for the existing high-throughput tracing facilities, this makes it possible for an applicati= on to wait for a very-specific event to occur and take action whenever it occu= rs. The purpose of event-rule matches triggers is to react quickly to an event without the delay introduced by buffering. For example, the following command will create a trigger that emits a notification whenever the 'openat' system call is invoked with the '/etc/passwd' filename argument. $ lttng add-trigger --condition event-rule-matches --type=3Dkernel:syscall --name=3D'openat' --action notify New actions were also introduced as part of this release: - Start session This action causes the LTTng session daemon to start tracing for the se= ssion with the given name. If no session with the given name exist at the tim= e the condition is met, nothing is done. - Stop session This action causes the LTTng session daemon to stop tracing for the ses= sion with the given name. If no session with the given name exist at the tim= e the condition is met, nothing is done. - Rotate session This action causes the LTTng session daemon to rotate the session with = the given name. See lttng-rotate(1) for more information about the session rotation concept. If no session with the given name exist at the time t= he condition is met, nothing is done. - Snapshot session This action causes the LTTng session daemon to take a snapshot of the session with the given name. See lttng-snapshot(1) for more information about the session snapshot concept. If no session with the given name e= xist at the time the condition is met, nothing is done. These new actions can also be combined together. For instance, the followin= g trigger will stop `my_session`, record a snapshot of `my_session`, and noti= fy any listening application when '/etc/passwd' is opened: $ lttng add-trigger --condition event-rule-matches --type kernel:syscall --name 'openat' --filter 'filename =3D=3D "/etc/passwd"' --action stop-session my_session --action snapshot-session my_session --action notify For more information, see the following manual pages: - lttng-add-trigger(1), - lttng-remove-trigger(1), - lttng-list-triggers(1). Notification payload capture --- The new event-rule matches condition type also allows 'captures'. This allow event record and context fields to be captured when an event-rul= e matches condition is satisfied. The captured field values are made available in the evaluation object of th= e notifications transmitted to listening applications. Capture descriptors can be specified using a syntax reminiscent of the one = used by the filter expressions. The following example will capture a process's name and the 'filename' argu= ment of all `openat()` system calls: $ lttng add-trigger --condition event-rule-matches --type kernel:syscall --name 'openat' --capture 'filename' --capture '$ctx.procname' --action notify See the lttng-add-trigger(1) manual page for more information. vtracef and vtracelog (LTTng-UST) --- New versions of the `tracef()` and `tracelog()` tracing helpers accepting variable argument lists are introduced as `vtracef()` and `vtracelog()`. See the tracef(3) and tracelog(3) manual pages for more information. Add time namespace context (LTTng-UST and LTTng-modules) --- It is now possible to add the time namespace of a process as a context to channels (`time_ns`) using the `add-context` command. See the time_namespaces(7) manual page for more information. Links --- Project website: https://lttng.org Download links: https://lttng.org/files/lttng-tools/lttng-tools-2.13.0.tar.bz2 https://lttng.org/files/lttng-ust/lttng-ust-2.13.0.tar.bz2 https://lttng.org/files/lttng-modules/lttng-modules-2.13.0.tar.bz2 GPG signatures: https://lttng.org/files/lttng-tools/lttng-tools-2.13.0.tar.bz2.asc https://lttng.org/files/lttng-ust/lttng-ust-2.13.0.tar.bz2.asc https://lttng.org/files/lttng-modules/lttng-modules-2.13.0.tar.bz2.asc --=20 Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0A1DC4338F for ; Tue, 3 Aug 2021 18:40:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C797261029 for ; Tue, 3 Aug 2021 18:40:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237379AbhHCSke (ORCPT ); Tue, 3 Aug 2021 14:40:34 -0400 Received: from mail.efficios.com ([167.114.26.124]:47552 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233816AbhHCSke (ORCPT ); Tue, 3 Aug 2021 14:40:34 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 81383358DE3; Tue, 3 Aug 2021 14:40:22 -0400 (EDT) Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 5ayqugLDIobw; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 5CFA03591A1; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 5CFA03591A1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=default; t=1628016021; bh=Y3ue0NmJ08na6hNBEc4TKwfrQxqjle3ndLp91mKjI0g=; h=Date:From:To:Message-ID:MIME-Version; b=N25jlfSLeutcAY8bU79/pHPDSwNOJ7yyIvNxkV25m+ea1HQo/E6q5qnh4CBZ43LRE k7NKZz/xh18delrWCmxgMsvfb1zNZL3gjJg1KKYgYUk+LB43kp5q5r4kH6enylrcBt 0y5aoO6VNMUGZrdy+5/YrNAk4FJwx8QA173KOanx0aJdBJa5jFso+pYHgasnjfVoxK LPEjZOEzygic/Fh4Gcl1QQ0nYdPm7YfdfVRxiKlP5qdJ+FIw5OGoIr/bDOuFczHp7v gwNADyFA1JFlEYdJp6MLGOCJdEhyrdNMK7tTLMGwQ7+09m0wK8f5DtHHiJOinOWfI1 /yWyALPruDvfQ== X-Virus-Scanned: amavisd-new at efficios.com Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id HHEFySIPXKEr; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Received: from mail03.efficios.com (mail03.efficios.com [167.114.26.124]) by mail.efficios.com (Postfix) with ESMTP id 3F584358E52; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Date: Tue, 3 Aug 2021 14:40:21 -0400 (EDT) From: Mathieu Desnoyers To: lttng-dev Cc: Jeremie Galarneau , linux-kernel , Diamon discuss , linux-trace-users Message-ID: <1790050742.4759.1628016021132.JavaMail.zimbra@efficios.com> Subject: =?utf-8?Q?LTTng_2.13.0_-_Nordicit=C3=A9_-_Lin?= =?utf-8?Q?ux_kernel_and_user-space_tracer?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [167.114.26.124] X-Mailer: Zimbra 8.8.15_GA_4101 (ZimbraWebClient - FF90 (Linux)/8.8.15_GA_4059) Thread-Index: PqQD//LpuyRhy96Y4KDFlRxjvz+ZYg== Thread-Topic: LTTng 2.13.0 - =?utf-8?Q?Nordicit=C3=A9?= - Linux kernel and user-space tracer Precedence: bulk List-ID: X-Mailing-List: linux-trace-users@vger.kernel.org Hi everyone, =20 Today is the official release of LTTng 2.13 - Nordicit=C3=A9! It is the res= ult of one year of development from most of the EfficiOS team. The most notable features of this new release are: - Event-rule matches condition triggers and new actions, allowing interna= l actions or external monitoring applications to quickly react when kerne= l or user-space instrumentation is hit, - Notification payload capture, allowing external monitoring applications to read elements of the instrumentation payload when instrumentation is hit. - Instrumentation API: vtracef and vtracelog (LTTng-UST), - User space time namespace context (LTTng-UST and LTTng-modules). This release is named after "Nordicit=C3=A9", the product of a collaboratio= n between Champ Libre and Bor=C3=A9ale. This farmhouse IPA is brewed with Kveik yeast= and Qu=C3=A9bec-grown barley, oats and juniper branches. The result is a remark= able fruity hazy golden IPA that offers a balanced touch of resinous and woodsy bitterness. Based on the LTTng project's documented stable releases lifetime, this 2.13 release coincides with the end-of-life (EOL) of the LTTng 2.11 release seri= es. Read on for a short description of each of the new features and the links to this release. A prettified version of this announcement will be available soon on GitHub: https://github.com/lttng/lttng-tools/releases/tag/v2.13.0 Note on LTTng-UST backward compatibility --- - soname major version change This release changes the LTTng-UST soname major from 0 to 1. The event notifier (triggers using an event-rule-matches condition) functionality required a significant rework of public data structures whi= ch should never have been made public in the first place. Bumping the soname major to 1, will require applications and tracepoint providers to be rebuilt against an updated LTTng-UST to use it. Old applications and tracepoint providers linked against libraries with major soname 0 should be able to co-exist on the same system. - Building probe providers using a C++ compiler requires C++11 - API namespaceing The LTTng-UST API is now systematically namespaced under `lttng_ust_*` (e= .g `tracepoint()` becomes `lttng_ust_tracepoint()`). However, the non-namespaced names are still exposed to maintain API compatibility. Event-rule matches condition and new actions --- Expanding the trigger infrastructure and making it usable through the `lttn= g` client was the core focus of this release. A trigger is an association between a condition and one or more actions. Wh= en the condition associated to a trigger is met, the actions associated to tha= t trigger are executed. The tracing does not have to be active for the condit= ions to be met, and triggers are independent from tracing sessions. Since their introduction as part of LTTng 2.10, new conditions and actions = were added to make this little-known mechanism more flexible. For instance, before this release, triggers supported the following conditi= on types: - Buffer usage exceeded a given threshold, - Buffer usage went under a configurable threshold, - A session rotation occurred, - A session rotation completed. A _notify_ action could be used to send a notification to a third party applications whenever those conditions were met. This made it possible, for instance, to disable certain event rules if the tracing buffers were almost full. It could also be used to wait for session rotations to be completed to start processing the resulting trace chunk archives as part of various post-processing trace analyses. This release introduces a new powerful condition type: event-rule matches. This type of condition is met when the tracer encounters an event matching = the given even rule. The arguments describing the event rule are the same as th= ose describing the event rules of the `enable-event` command. While this is not intended as a general replacement for the existing high-throughput tracing facilities, this makes it possible for an applicati= on to wait for a very-specific event to occur and take action whenever it occu= rs. The purpose of event-rule matches triggers is to react quickly to an event without the delay introduced by buffering. For example, the following command will create a trigger that emits a notification whenever the 'openat' system call is invoked with the '/etc/passwd' filename argument. $ lttng add-trigger --condition event-rule-matches --type=3Dkernel:syscall --name=3D'openat' --action notify New actions were also introduced as part of this release: - Start session This action causes the LTTng session daemon to start tracing for the se= ssion with the given name. If no session with the given name exist at the tim= e the condition is met, nothing is done. - Stop session This action causes the LTTng session daemon to stop tracing for the ses= sion with the given name. If no session with the given name exist at the tim= e the condition is met, nothing is done. - Rotate session This action causes the LTTng session daemon to rotate the session with = the given name. See lttng-rotate(1) for more information about the session rotation concept. If no session with the given name exist at the time t= he condition is met, nothing is done. - Snapshot session This action causes the LTTng session daemon to take a snapshot of the session with the given name. See lttng-snapshot(1) for more information about the session snapshot concept. If no session with the given name e= xist at the time the condition is met, nothing is done. These new actions can also be combined together. For instance, the followin= g trigger will stop `my_session`, record a snapshot of `my_session`, and noti= fy any listening application when '/etc/passwd' is opened: $ lttng add-trigger --condition event-rule-matches --type kernel:syscall --name 'openat' --filter 'filename =3D=3D "/etc/passwd"' --action stop-session my_session --action snapshot-session my_session --action notify For more information, see the following manual pages: - lttng-add-trigger(1), - lttng-remove-trigger(1), - lttng-list-triggers(1). Notification payload capture --- The new event-rule matches condition type also allows 'captures'. This allow event record and context fields to be captured when an event-rul= e matches condition is satisfied. The captured field values are made available in the evaluation object of th= e notifications transmitted to listening applications. Capture descriptors can be specified using a syntax reminiscent of the one = used by the filter expressions. The following example will capture a process's name and the 'filename' argu= ment of all `openat()` system calls: $ lttng add-trigger --condition event-rule-matches --type kernel:syscall --name 'openat' --capture 'filename' --capture '$ctx.procname' --action notify See the lttng-add-trigger(1) manual page for more information. vtracef and vtracelog (LTTng-UST) --- New versions of the `tracef()` and `tracelog()` tracing helpers accepting variable argument lists are introduced as `vtracef()` and `vtracelog()`. See the tracef(3) and tracelog(3) manual pages for more information. Add time namespace context (LTTng-UST and LTTng-modules) --- It is now possible to add the time namespace of a process as a context to channels (`time_ns`) using the `add-context` command. See the time_namespaces(7) manual page for more information. Links --- Project website: https://lttng.org Download links: https://lttng.org/files/lttng-tools/lttng-tools-2.13.0.tar.bz2 https://lttng.org/files/lttng-ust/lttng-ust-2.13.0.tar.bz2 https://lttng.org/files/lttng-modules/lttng-modules-2.13.0.tar.bz2 GPG signatures: https://lttng.org/files/lttng-tools/lttng-tools-2.13.0.tar.bz2.asc https://lttng.org/files/lttng-ust/lttng-ust-2.13.0.tar.bz2.asc https://lttng.org/files/lttng-modules/lttng-modules-2.13.0.tar.bz2.asc --=20 Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF40CC4338F for ; Tue, 3 Aug 2021 18:40:33 +0000 (UTC) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 528AF60EFF for ; Tue, 3 Aug 2021 18:40:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 528AF60EFF Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=lists.lttng.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.lttng.org Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4GfNwb5chfz686; Tue, 3 Aug 2021 14:40:31 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1628016032; bh=S/uenUhbEhuuouW71wtUdN2kehCcDP5kVsGzeOo6wxs=; h=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=So1XmivRa8YMHjB5pSb2yCRoJJDhzi+JMm1drT0kV0H+RGSfQUfNfyYsvS2gDJ51V ofw1ErycnpNHXgMrdTziG+NjOlpAizVvj5g0p/pJCwblWm1iErILg3Xfx07y7nbuND XnmJV2Oem+bQIF+G2lcuuU6DC/qCgFS9g/oCmQWJgq2C5tx1R0XDsXLaeTEiL64vI0 aSBjnZ62Aoxleye5QHN/uOrUj8mzEM7JgBil4pDS4cfbpoCT0UuNoU2CI7gziK75wj KYe5oqoTyyLoYvWxHx6gdRhJzoU5xfVf8ssDuSi5xI2xCoHBdp73lL2zLWq99OQbm1 Q0bqdhZW3S5Wg== Received: from mail.efficios.com (mail.efficios.com [167.114.26.124]) by lists.lttng.org (Postfix) with ESMTPS id 4GfNwZ17ywz5w9 for ; Tue, 3 Aug 2021 14:40:28 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 7FB12358D55; Tue, 3 Aug 2021 14:40:22 -0400 (EDT) Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 5ayqugLDIobw; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 5CFA03591A1; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 5CFA03591A1 X-Virus-Scanned: amavisd-new at efficios.com Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id HHEFySIPXKEr; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Received: from mail03.efficios.com (mail03.efficios.com [167.114.26.124]) by mail.efficios.com (Postfix) with ESMTP id 3F584358E52; Tue, 3 Aug 2021 14:40:21 -0400 (EDT) Date: Tue, 3 Aug 2021 14:40:21 -0400 (EDT) To: lttng-dev Cc: Jeremie Galarneau , linux-kernel , Diamon discuss , linux-trace-users Message-ID: <1790050742.4759.1628016021132.JavaMail.zimbra@efficios.com> MIME-Version: 1.0 X-Originating-IP: [167.114.26.124] X-Mailer: Zimbra 8.8.15_GA_4101 (ZimbraWebClient - FF90 (Linux)/8.8.15_GA_4059) Thread-Index: PqQD//LpuyRhy96Y4KDFlRxjvz+ZYg== Thread-Topic: LTTng 2.13.0 - =?utf-8?Q?Nordicit=C3=A9?= - Linux kernel and user-space tracer Subject: [lttng-dev] =?utf-8?q?LTTng_2=2E13=2E0_-_Nordicit=C3=A9_-_Linux_?= =?utf-8?q?kernel_and_user-space_tracer?= X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Mathieu Desnoyers via lttng-dev Reply-To: Mathieu Desnoyers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" SGkgZXZlcnlvbmUsCiAgClRvZGF5IGlzIHRoZSBvZmZpY2lhbCByZWxlYXNlIG9mIExUVG5nIDIu MTMgLSBOb3JkaWNpdMOpISBJdCBpcyB0aGUgcmVzdWx0IG9mCm9uZSB5ZWFyIG9mIGRldmVsb3Bt ZW50IGZyb20gbW9zdCBvZiB0aGUgRWZmaWNpT1MgdGVhbS4KClRoZSBtb3N0IG5vdGFibGUgZmVh dHVyZXMgb2YgdGhpcyBuZXcgcmVsZWFzZSBhcmU6CgogIC0gRXZlbnQtcnVsZSBtYXRjaGVzIGNv bmRpdGlvbiB0cmlnZ2VycyBhbmQgbmV3IGFjdGlvbnMsIGFsbG93aW5nIGludGVybmFsCiAgICBh Y3Rpb25zIG9yIGV4dGVybmFsIG1vbml0b3JpbmcgYXBwbGljYXRpb25zIHRvIHF1aWNrbHkgcmVh Y3Qgd2hlbiBrZXJuZWwKICAgIG9yIHVzZXItc3BhY2UgaW5zdHJ1bWVudGF0aW9uIGlzIGhpdCwK ICAtIE5vdGlmaWNhdGlvbiBwYXlsb2FkIGNhcHR1cmUsIGFsbG93aW5nIGV4dGVybmFsIG1vbml0 b3JpbmcgYXBwbGljYXRpb25zCiAgICB0byByZWFkIGVsZW1lbnRzIG9mIHRoZSBpbnN0cnVtZW50 YXRpb24gcGF5bG9hZCB3aGVuIGluc3RydW1lbnRhdGlvbiBpcwogICAgaGl0LgogIC0gSW5zdHJ1 bWVudGF0aW9uIEFQSTogdnRyYWNlZiBhbmQgdnRyYWNlbG9nIChMVFRuZy1VU1QpLAogIC0gVXNl ciBzcGFjZSB0aW1lIG5hbWVzcGFjZSBjb250ZXh0IChMVFRuZy1VU1QgYW5kIExUVG5nLW1vZHVs ZXMpLgoKVGhpcyByZWxlYXNlIGlzIG5hbWVkIGFmdGVyICJOb3JkaWNpdMOpIiwgdGhlIHByb2R1 Y3Qgb2YgYSBjb2xsYWJvcmF0aW9uIGJldHdlZW4KQ2hhbXAgTGlicmUgYW5kIEJvcsOpYWxlLiBU aGlzIGZhcm1ob3VzZSBJUEEgaXMgYnJld2VkIHdpdGggS3ZlaWsgeWVhc3QgYW5kClF1w6liZWMt Z3Jvd24gYmFybGV5LCBvYXRzIGFuZCBqdW5pcGVyIGJyYW5jaGVzLiBUaGUgcmVzdWx0IGlzIGEg cmVtYXJrYWJsZQpmcnVpdHkgaGF6eSBnb2xkZW4gSVBBIHRoYXQgb2ZmZXJzIGEgYmFsYW5jZWQg dG91Y2ggb2YgcmVzaW5vdXMgYW5kIHdvb2RzeQpiaXR0ZXJuZXNzLgoKQmFzZWQgb24gdGhlIExU VG5nIHByb2plY3QncyBkb2N1bWVudGVkIHN0YWJsZSByZWxlYXNlcyBsaWZldGltZSwgdGhpcyAy LjEzCnJlbGVhc2UgY29pbmNpZGVzIHdpdGggdGhlIGVuZC1vZi1saWZlIChFT0wpIG9mIHRoZSBM VFRuZyAyLjExIHJlbGVhc2Ugc2VyaWVzLgoKUmVhZCBvbiBmb3IgYSBzaG9ydCBkZXNjcmlwdGlv biBvZiBlYWNoIG9mIHRoZSBuZXcgZmVhdHVyZXMgYW5kIHRoZQpsaW5rcyB0byB0aGlzIHJlbGVh c2UuCgpBIHByZXR0aWZpZWQgdmVyc2lvbiBvZiB0aGlzIGFubm91bmNlbWVudCB3aWxsIGJlIGF2 YWlsYWJsZSBzb29uIG9uIEdpdEh1YjoKaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLXRv b2xzL3JlbGVhc2VzL3RhZy92Mi4xMy4wCgoKTm90ZSBvbiBMVFRuZy1VU1QgYmFja3dhcmQgY29t cGF0aWJpbGl0eQotLS0KCi0gc29uYW1lIG1ham9yIHZlcnNpb24gY2hhbmdlCiAgVGhpcyByZWxl YXNlIGNoYW5nZXMgdGhlIExUVG5nLVVTVCBzb25hbWUgbWFqb3IgZnJvbSAwIHRvIDEuCgogIFRo ZSBldmVudCBub3RpZmllciAodHJpZ2dlcnMgdXNpbmcgYW4gZXZlbnQtcnVsZS1tYXRjaGVzIGNv bmRpdGlvbikKICBmdW5jdGlvbmFsaXR5IHJlcXVpcmVkIGEgc2lnbmlmaWNhbnQgcmV3b3JrIG9m IHB1YmxpYyBkYXRhIHN0cnVjdHVyZXMgd2hpY2gKICBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIG1h ZGUgcHVibGljIGluIHRoZSBmaXJzdCBwbGFjZS4KCiAgQnVtcGluZyB0aGUgc29uYW1lIG1ham9y IHRvIDEsIHdpbGwgcmVxdWlyZSBhcHBsaWNhdGlvbnMgYW5kIHRyYWNlcG9pbnQKICBwcm92aWRl cnMgdG8gYmUgcmVidWlsdCBhZ2FpbnN0IGFuIHVwZGF0ZWQgTFRUbmctVVNUIHRvIHVzZSBpdC4K CiAgT2xkIGFwcGxpY2F0aW9ucyBhbmQgdHJhY2Vwb2ludCBwcm92aWRlcnMgbGlua2VkIGFnYWlu c3QgbGlicmFyaWVzIHdpdGgKICBtYWpvciBzb25hbWUgMCBzaG91bGQgYmUgYWJsZSB0byBjby1l eGlzdCBvbiB0aGUgc2FtZSBzeXN0ZW0uCgotIEJ1aWxkaW5nIHByb2JlIHByb3ZpZGVycyB1c2lu ZyBhIEMrKyBjb21waWxlciByZXF1aXJlcyBDKysxMQoKLSBBUEkgbmFtZXNwYWNlaW5nCiAgVGhl IExUVG5nLVVTVCBBUEkgaXMgbm93IHN5c3RlbWF0aWNhbGx5IG5hbWVzcGFjZWQgdW5kZXIgYGx0 dG5nX3VzdF8qYCAoZS5nCiAgYHRyYWNlcG9pbnQoKWAgYmVjb21lcyBgbHR0bmdfdXN0X3RyYWNl cG9pbnQoKWApLgoKICBIb3dldmVyLCB0aGUgbm9uLW5hbWVzcGFjZWQgbmFtZXMgYXJlIHN0aWxs IGV4cG9zZWQgdG8gbWFpbnRhaW4gQVBJCiAgY29tcGF0aWJpbGl0eS4KCgpFdmVudC1ydWxlIG1h dGNoZXMgY29uZGl0aW9uIGFuZCBuZXcgYWN0aW9ucwotLS0KCkV4cGFuZGluZyB0aGUgdHJpZ2dl ciBpbmZyYXN0cnVjdHVyZSBhbmQgbWFraW5nIGl0IHVzYWJsZSB0aHJvdWdoIHRoZSBgbHR0bmdg CmNsaWVudCB3YXMgdGhlIGNvcmUgZm9jdXMgb2YgdGhpcyByZWxlYXNlLgoKQSB0cmlnZ2VyIGlz IGFuIGFzc29jaWF0aW9uIGJldHdlZW4gYSBjb25kaXRpb24gYW5kIG9uZSBvciBtb3JlIGFjdGlv bnMuIFdoZW4KdGhlIGNvbmRpdGlvbiBhc3NvY2lhdGVkIHRvIGEgdHJpZ2dlciBpcyBtZXQsIHRo ZSBhY3Rpb25zIGFzc29jaWF0ZWQgdG8gdGhhdAp0cmlnZ2VyIGFyZSBleGVjdXRlZC4gVGhlIHRy YWNpbmcgZG9lcyBub3QgaGF2ZSB0byBiZSBhY3RpdmUgZm9yIHRoZSBjb25kaXRpb25zCnRvIGJl IG1ldCwgYW5kIHRyaWdnZXJzIGFyZSBpbmRlcGVuZGVudCBmcm9tIHRyYWNpbmcgc2Vzc2lvbnMu CgpTaW5jZSB0aGVpciBpbnRyb2R1Y3Rpb24gYXMgcGFydCBvZiBMVFRuZyAyLjEwLCBuZXcgY29u ZGl0aW9ucyBhbmQgYWN0aW9ucyB3ZXJlCmFkZGVkIHRvIG1ha2UgdGhpcyBsaXR0bGUta25vd24g bWVjaGFuaXNtIG1vcmUgZmxleGlibGUuCgpGb3IgaW5zdGFuY2UsIGJlZm9yZSB0aGlzIHJlbGVh c2UsIHRyaWdnZXJzIHN1cHBvcnRlZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbgp0eXBlczoKICAt IEJ1ZmZlciB1c2FnZSBleGNlZWRlZCBhIGdpdmVuIHRocmVzaG9sZCwKICAtIEJ1ZmZlciB1c2Fn ZSB3ZW50IHVuZGVyIGEgY29uZmlndXJhYmxlIHRocmVzaG9sZCwKICAtIEEgc2Vzc2lvbiByb3Rh dGlvbiBvY2N1cnJlZCwKICAtIEEgc2Vzc2lvbiByb3RhdGlvbiBjb21wbGV0ZWQuCgpBIF9ub3Rp ZnlfIGFjdGlvbiBjb3VsZCBiZSB1c2VkIHRvIHNlbmQgYSBub3RpZmljYXRpb24gdG8gYSB0aGly ZCBwYXJ0eQphcHBsaWNhdGlvbnMgd2hlbmV2ZXIgdGhvc2UgY29uZGl0aW9ucyB3ZXJlIG1ldC4K ClRoaXMgbWFkZSBpdCBwb3NzaWJsZSwgZm9yIGluc3RhbmNlLCB0byBkaXNhYmxlIGNlcnRhaW4g ZXZlbnQgcnVsZXMgaWYgdGhlCnRyYWNpbmcgYnVmZmVycyB3ZXJlIGFsbW9zdCBmdWxsLiBJdCBj b3VsZCBhbHNvIGJlIHVzZWQgdG8gd2FpdCBmb3Igc2Vzc2lvbgpyb3RhdGlvbnMgdG8gYmUgY29t cGxldGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgdGhlIHJlc3VsdGluZyB0cmFjZSBjaHVuawphcmNo aXZlcyBhcyBwYXJ0IG9mIHZhcmlvdXMgcG9zdC1wcm9jZXNzaW5nIHRyYWNlIGFuYWx5c2VzLgoK VGhpcyByZWxlYXNlIGludHJvZHVjZXMgYSBuZXcgcG93ZXJmdWwgY29uZGl0aW9uIHR5cGU6IGV2 ZW50LXJ1bGUgbWF0Y2hlcy4KClRoaXMgdHlwZSBvZiBjb25kaXRpb24gaXMgbWV0IHdoZW4gdGhl IHRyYWNlciBlbmNvdW50ZXJzIGFuIGV2ZW50IG1hdGNoaW5nIHRoZQpnaXZlbiBldmVuIHJ1bGUu IFRoZSBhcmd1bWVudHMgZGVzY3JpYmluZyB0aGUgZXZlbnQgcnVsZSBhcmUgdGhlIHNhbWUgYXMg dGhvc2UKZGVzY3JpYmluZyB0aGUgZXZlbnQgcnVsZXMgb2YgdGhlIGBlbmFibGUtZXZlbnRgIGNv bW1hbmQuCgpXaGlsZSB0aGlzIGlzIG5vdCBpbnRlbmRlZCBhcyBhIGdlbmVyYWwgcmVwbGFjZW1l bnQgZm9yIHRoZSBleGlzdGluZwpoaWdoLXRocm91Z2hwdXQgdHJhY2luZyBmYWNpbGl0aWVzLCB0 aGlzIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBhbiBhcHBsaWNhdGlvbgp0byB3YWl0IGZvciBhIHZl cnktc3BlY2lmaWMgZXZlbnQgdG8gb2NjdXIgYW5kIHRha2UgYWN0aW9uIHdoZW5ldmVyIGl0IG9j Y3Vycy4KVGhlIHB1cnBvc2Ugb2YgZXZlbnQtcnVsZSBtYXRjaGVzIHRyaWdnZXJzIGlzIHRvIHJl YWN0IHF1aWNrbHkgdG8gYW4gZXZlbnQKd2l0aG91dCB0aGUgZGVsYXkgaW50cm9kdWNlZCBieSBi dWZmZXJpbmcuCgpGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBjb21tYW5kIHdpbGwgY3JlYXRl IGEgdHJpZ2dlciB0aGF0IGVtaXRzIGEKbm90aWZpY2F0aW9uIHdoZW5ldmVyIHRoZSAnb3BlbmF0 JyBzeXN0ZW0gY2FsbCBpcyBpbnZva2VkIHdpdGggdGhlCicvZXRjL3Bhc3N3ZCcgZmlsZW5hbWUg YXJndW1lbnQuCgokIGx0dG5nIGFkZC10cmlnZ2VyCiAgICAtLWNvbmRpdGlvbiBldmVudC1ydWxl LW1hdGNoZXMKICAgICAgLS10eXBlPWtlcm5lbDpzeXNjYWxsCiAgICAgIC0tbmFtZT0nb3BlbmF0 JwogICAgLS1hY3Rpb24gbm90aWZ5CgpOZXcgYWN0aW9ucyB3ZXJlIGFsc28gaW50cm9kdWNlZCBh cyBwYXJ0IG9mIHRoaXMgcmVsZWFzZToKICAtIFN0YXJ0IHNlc3Npb24KICAgIFRoaXMgYWN0aW9u IGNhdXNlcyB0aGUgTFRUbmcgc2Vzc2lvbiBkYWVtb24gdG8gc3RhcnQgdHJhY2luZyBmb3IgdGhl IHNlc3Npb24KICAgIHdpdGggdGhlIGdpdmVuIG5hbWUuIElmIG5vIHNlc3Npb24gd2l0aCB0aGUg Z2l2ZW4gbmFtZSBleGlzdCBhdCB0aGUgdGltZSB0aGUKICAgIGNvbmRpdGlvbiBpcyBtZXQsIG5v dGhpbmcgaXMgZG9uZS4KCiAgLSBTdG9wIHNlc3Npb24KICAgIFRoaXMgYWN0aW9uIGNhdXNlcyB0 aGUgTFRUbmcgc2Vzc2lvbiBkYWVtb24gdG8gc3RvcCB0cmFjaW5nIGZvciB0aGUgc2Vzc2lvbgog ICAgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gSWYgbm8gc2Vzc2lvbiB3aXRoIHRoZSBnaXZlbiBuYW1l IGV4aXN0IGF0IHRoZSB0aW1lIHRoZQogICAgY29uZGl0aW9uIGlzIG1ldCwgbm90aGluZyBpcyBk b25lLgoKICAtIFJvdGF0ZSBzZXNzaW9uCiAgICBUaGlzIGFjdGlvbiBjYXVzZXMgdGhlIExUVG5n IHNlc3Npb24gZGFlbW9uIHRvIHJvdGF0ZSB0aGUgc2Vzc2lvbiB3aXRoIHRoZQogICAgZ2l2ZW4g bmFtZS4gU2VlIGx0dG5nLXJvdGF0ZSgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUg c2Vzc2lvbgogICAgcm90YXRpb24gY29uY2VwdC4gSWYgbm8gc2Vzc2lvbiB3aXRoIHRoZSBnaXZl biBuYW1lIGV4aXN0IGF0IHRoZSB0aW1lIHRoZQogICAgY29uZGl0aW9uIGlzIG1ldCwgbm90aGlu ZyBpcyBkb25lLgoKICAtIFNuYXBzaG90IHNlc3Npb24KICAgIFRoaXMgYWN0aW9uIGNhdXNlcyB0 aGUgTFRUbmcgc2Vzc2lvbiBkYWVtb24gdG8gdGFrZSBhIHNuYXBzaG90IG9mIHRoZQogICAgc2Vz c2lvbiB3aXRoIHRoZSBnaXZlbiBuYW1lLiBTZWUgbHR0bmctc25hcHNob3QoMSkgZm9yIG1vcmUg aW5mb3JtYXRpb24KICAgIGFib3V0IHRoZSBzZXNzaW9uIHNuYXBzaG90IGNvbmNlcHQuIElmIG5v IHNlc3Npb24gd2l0aCB0aGUgZ2l2ZW4gbmFtZSBleGlzdAogICAgYXQgdGhlIHRpbWUgdGhlIGNv bmRpdGlvbiBpcyBtZXQsIG5vdGhpbmcgaXMgZG9uZS4KClRoZXNlIG5ldyBhY3Rpb25zIGNhbiBh bHNvIGJlIGNvbWJpbmVkIHRvZ2V0aGVyLiBGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcKdHJp Z2dlciB3aWxsIHN0b3AgYG15X3Nlc3Npb25gLCByZWNvcmQgYSBzbmFwc2hvdCBvZiBgbXlfc2Vz c2lvbmAsIGFuZCBub3RpZnkKYW55IGxpc3RlbmluZyBhcHBsaWNhdGlvbiB3aGVuICcvZXRjL3Bh c3N3ZCcgaXMgb3BlbmVkOgoKJCBsdHRuZyBhZGQtdHJpZ2dlcgogICAgLS1jb25kaXRpb24gZXZl bnQtcnVsZS1tYXRjaGVzCiAgICAgIC0tdHlwZSBrZXJuZWw6c3lzY2FsbAogICAgICAtLW5hbWUg J29wZW5hdCcKICAgICAgLS1maWx0ZXIgJ2ZpbGVuYW1lID09ICIvZXRjL3Bhc3N3ZCInCiAgICAt LWFjdGlvbiBzdG9wLXNlc3Npb24gbXlfc2Vzc2lvbgogICAgLS1hY3Rpb24gc25hcHNob3Qtc2Vz c2lvbiBteV9zZXNzaW9uCiAgICAtLWFjdGlvbiBub3RpZnkKCkZvciBtb3JlIGluZm9ybWF0aW9u LCBzZWUgdGhlIGZvbGxvd2luZyBtYW51YWwgcGFnZXM6CiAgLSBsdHRuZy1hZGQtdHJpZ2dlcigx KSwKICAtIGx0dG5nLXJlbW92ZS10cmlnZ2VyKDEpLAogIC0gbHR0bmctbGlzdC10cmlnZ2Vycygx KS4KCgpOb3RpZmljYXRpb24gcGF5bG9hZCBjYXB0dXJlCi0tLQoKVGhlIG5ldyBldmVudC1ydWxl IG1hdGNoZXMgY29uZGl0aW9uIHR5cGUgYWxzbyBhbGxvd3MgJ2NhcHR1cmVzJy4KVGhpcyBhbGxv dyBldmVudCByZWNvcmQgYW5kIGNvbnRleHQgZmllbGRzIHRvIGJlIGNhcHR1cmVkIHdoZW4gYW4g ZXZlbnQtcnVsZQptYXRjaGVzIGNvbmRpdGlvbiBpcyBzYXRpc2ZpZWQuCgpUaGUgY2FwdHVyZWQg ZmllbGQgdmFsdWVzIGFyZSBtYWRlIGF2YWlsYWJsZSBpbiB0aGUgZXZhbHVhdGlvbiBvYmplY3Qg b2YgdGhlCm5vdGlmaWNhdGlvbnMgdHJhbnNtaXR0ZWQgdG8gbGlzdGVuaW5nIGFwcGxpY2F0aW9u cy4KCkNhcHR1cmUgZGVzY3JpcHRvcnMgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBhIHN5bnRheCBy ZW1pbmlzY2VudCBvZiB0aGUgb25lIHVzZWQKYnkgdGhlIGZpbHRlciBleHByZXNzaW9ucy4KClRo ZSBmb2xsb3dpbmcgZXhhbXBsZSB3aWxsIGNhcHR1cmUgYSBwcm9jZXNzJ3MgbmFtZSBhbmQgdGhl ICdmaWxlbmFtZScgYXJndW1lbnQKb2YgYWxsIGBvcGVuYXQoKWAgc3lzdGVtIGNhbGxzOgoKJCBs dHRuZyBhZGQtdHJpZ2dlcgogICAgLS1jb25kaXRpb24gZXZlbnQtcnVsZS1tYXRjaGVzCiAgICAg IC0tdHlwZSBrZXJuZWw6c3lzY2FsbAogICAgICAtLW5hbWUgJ29wZW5hdCcKICAgICAgLS1jYXB0 dXJlICdmaWxlbmFtZScKICAgICAgLS1jYXB0dXJlICckY3R4LnByb2NuYW1lJwogICAgLS1hY3Rp b24gbm90aWZ5CgpTZWUgdGhlIGx0dG5nLWFkZC10cmlnZ2VyKDEpIG1hbnVhbCBwYWdlIGZvciBt b3JlIGluZm9ybWF0aW9uLgoKCnZ0cmFjZWYgYW5kIHZ0cmFjZWxvZyAoTFRUbmctVVNUKQotLS0K Ck5ldyB2ZXJzaW9ucyBvZiB0aGUgYHRyYWNlZigpYCBhbmQgYHRyYWNlbG9nKClgIHRyYWNpbmcg aGVscGVycyBhY2NlcHRpbmcKdmFyaWFibGUgYXJndW1lbnQgbGlzdHMgYXJlIGludHJvZHVjZWQg YXMgYHZ0cmFjZWYoKWAgYW5kIGB2dHJhY2Vsb2coKWAuCgpTZWUgdGhlIHRyYWNlZigzKSBhbmQg dHJhY2Vsb2coMykgbWFudWFsIHBhZ2VzIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKCkFkZCB0aW1l IG5hbWVzcGFjZSBjb250ZXh0IChMVFRuZy1VU1QgYW5kIExUVG5nLW1vZHVsZXMpCi0tLQoKSXQg aXMgbm93IHBvc3NpYmxlIHRvIGFkZCB0aGUgdGltZSBuYW1lc3BhY2Ugb2YgYSBwcm9jZXNzIGFz IGEgY29udGV4dCB0bwpjaGFubmVscyAoYHRpbWVfbnNgKSB1c2luZyB0aGUgYGFkZC1jb250ZXh0 YCBjb21tYW5kLgoKU2VlIHRoZSB0aW1lX25hbWVzcGFjZXMoNykgbWFudWFsIHBhZ2UgZm9yIG1v cmUgaW5mb3JtYXRpb24uCgoKTGlua3MKLS0tCgpQcm9qZWN0IHdlYnNpdGU6IGh0dHBzOi8vbHR0 bmcub3JnCgpEb3dubG9hZCBsaW5rczoKaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdG9v bHMvbHR0bmctdG9vbHMtMi4xMy4wLnRhci5iejIKaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0 bmctdXN0L2x0dG5nLXVzdC0yLjEzLjAudGFyLmJ6MgpodHRwczovL2x0dG5nLm9yZy9maWxlcy9s dHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVsZXMtMi4xMy4wLnRhci5iejIKCkdQRyBzaWduYXR1cmVz OgpodHRwczovL2x0dG5nLm9yZy9maWxlcy9sdHRuZy10b29scy9sdHRuZy10b29scy0yLjEzLjAu dGFyLmJ6Mi5hc2MKaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdXN0L2x0dG5nLXVzdC0y LjEzLjAudGFyLmJ6Mi5hc2MKaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9s dHRuZy1tb2R1bGVzLTIuMTMuMC50YXIuYnoyLmFzYwoKLS0gCk1hdGhpZXUgRGVzbm95ZXJzCkVm ZmljaU9TIEluYy4KaHR0cDovL3d3dy5lZmZpY2lvcy5jb20KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbHR0bmctZGV2IG1haWxpbmcgbGlzdApsdHRuZy1k ZXZAbGlzdHMubHR0bmcub3JnCmh0dHBzOi8vbGlzdHMubHR0bmcub3JnL2NnaS1iaW4vbWFpbG1h bi9saXN0aW5mby9sdHRuZy1kZXYK