From 9178874f34d96867869a2f0c3eeaa4348ad759da Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 12 Dec 2006 16:07:42 +0000 Subject: [PATCH] Collect the bits of wisdom about dtrace installation in the installation chapter rather than scattering them across several incomplete fragments. (This makes the documentation consistent with the backported FAQ_Solaris.) --- doc/src/sgml/installation.sgml | 15 +++++++++++++- doc/src/sgml/monitoring.sgml | 38 ++++++++++------------------------ 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 03a7badc40..92cb16a8d5 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1,4 +1,4 @@ - + <![%standalone-include[<productname>PostgreSQL</>]]> @@ -1039,6 +1039,19 @@ su - postgres specified in the environment variable <envar>DTRACEFLAGS</envar>. </para> + + <para> + To include DTrace support in a 64-bit binary, specify + <literal>DTRACEFLAGS="-64"</> to configure. For example, + using the GCC compiler: +<screen> +./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ... +</screen> + Using Sun's compiler: +<screen> +./configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' ... +</screen> + </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index f949bfda35..42c6bb9672 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/monitoring.sgml,v 1.40 2006/12/02 00:42:54 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/monitoring.sgml,v 1.40.2.1 2006/12/12 16:07:42 petere Exp $ --> <chapter id="monitoring"> <title>Monitoring Database Activity @@ -824,29 +824,14 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid, - Compiling for Dynamic Trace + Compiling for Dynamic Tracing By default, trace points are disabled, so you will need to explicitly tell the configure script to make the probes available in PostgreSQL. To include DTrace support - in a 32-bit binary, specify + specify @@ -855,7 +840,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid, A few standard trace points are provided in the source code (of course, more can be added as needed for a particular problem). - These are: + These are shown in . @@ -974,15 +959,14 @@ postgresql$1:::transaction-commit Note how the double underline in trace point names needs to be replaced by a hyphen when using D script. When executed, the example D script gives output such as: - + # ./txn_count.d `pgrep -n postgres` ^C Start 71 Commit 70 -Abort 1 Total time (ns) 2312105013 - + You should remember that trace programs need to be carefully written and @@ -999,7 +983,7 @@ Total time (ns) 2312105013 New trace points can be defined within the code wherever the developer - desires, though this will require a re-compile. + desires, though this will require a recompilation. @@ -1009,14 +993,14 @@ Total time (ns) 2312105013 occurrence of an event can be achieved with a single line, using just the trace point name, e.g. - PG_TRACE (my__new__trace__point); +PG_TRACE (my__new__trace__point); More complex trace points can be provided with one or more variables for inspection by the dynamic tracing utility by using the PG_TRACEn macro that corresponds to the number of parameters after the trace point name: - PG_TRACE3 (my__complex__event, varX, varY, varZ); +PG_TRACE3 (my__complex__event, varX, varY, varZ); The definition of the transaction__start trace point is shown below: @@ -1055,7 +1039,7 @@ provider postgresql { - You should take care that the datatypes specified for the probe arguments + You should take care that the data types specified for the probe arguments match the datatypes of the variables used in the PG_TRACE macro. This is not checked at compile time. You can check that your newly added trace point is available by recompiling, then running the new binary,