summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl')
-rw-r--r--upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl291
1 files changed, 291 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl b/upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl
new file mode 100644
index 00000000..d76cda26
--- /dev/null
+++ b/upstream/debian-unstable/man3/Test2::EventFacet::Trace.3perl
@@ -0,0 +1,291 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "Test2::EventFacet::Trace 3perl"
+.TH Test2::EventFacet::Trace 3perl 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+Test2::EventFacet::Trace \- Debug information for events
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+The Test2::API::Context object, as well as all Test2::Event types need to
+have access to information about where they were created. This object
+represents that information.
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 1
+\& use Test2::EventFacet::Trace;
+\&
+\& my $trace = Test2::EventFacet::Trace\->new(
+\& frame => [$package, $file, $line, $subname],
+\& );
+.Ve
+.SH "FACET FIELDS"
+.IX Header "FACET FIELDS"
+.ie n .IP "$string = $trace\->{details}" 4
+.el .IP "\f(CW$string\fR = \f(CW$trace\fR\->{details}" 4
+.IX Item "$string = $trace->{details}"
+.PD 0
+.ie n .IP "$string = $trace\->\fBdetails()\fR" 4
+.el .IP "\f(CW$string\fR = \f(CW$trace\fR\->\fBdetails()\fR" 4
+.IX Item "$string = $trace->details()"
+.PD
+Used as a custom trace message that will be used INSTEAD of
+\&\f(CW\*(C`at <FILE> line <LINE>\*(C'\fR when calling \f(CW\*(C`$trace\->debug\*(C'\fR.
+.ie n .IP "$frame = $trace\->{frame}" 4
+.el .IP "\f(CW$frame\fR = \f(CW$trace\fR\->{frame}" 4
+.IX Item "$frame = $trace->{frame}"
+.PD 0
+.ie n .IP "$frame = $trace\->\fBframe()\fR" 4
+.el .IP "\f(CW$frame\fR = \f(CW$trace\fR\->\fBframe()\fR" 4
+.IX Item "$frame = $trace->frame()"
+.PD
+Get the call frame arrayref.
+.Sp
+.Vb 1
+\& [$package, $file, $line, $subname]
+.Ve
+.ie n .IP "$int = $trace\->{pid}" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->{pid}" 4
+.IX Item "$int = $trace->{pid}"
+.PD 0
+.ie n .IP "$int = $trace\->\fBpid()\fR" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->\fBpid()\fR" 4
+.IX Item "$int = $trace->pid()"
+.PD
+The process ID in which the event was generated.
+.ie n .IP "$int = $trace\->{tid}" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->{tid}" 4
+.IX Item "$int = $trace->{tid}"
+.PD 0
+.ie n .IP "$int = $trace\->\fBtid()\fR" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->\fBtid()\fR" 4
+.IX Item "$int = $trace->tid()"
+.PD
+The thread ID in which the event was generated.
+.ie n .IP "$id = $trace\->{cid}" 4
+.el .IP "\f(CW$id\fR = \f(CW$trace\fR\->{cid}" 4
+.IX Item "$id = $trace->{cid}"
+.PD 0
+.ie n .IP "$id = $trace\->\fBcid()\fR" 4
+.el .IP "\f(CW$id\fR = \f(CW$trace\fR\->\fBcid()\fR" 4
+.IX Item "$id = $trace->cid()"
+.PD
+The ID of the context that was used to create the event.
+.ie n .IP "$uuid = $trace\->{uuid}" 4
+.el .IP "\f(CW$uuid\fR = \f(CW$trace\fR\->{uuid}" 4
+.IX Item "$uuid = $trace->{uuid}"
+.PD 0
+.ie n .IP "$uuid = $trace\->\fBuuid()\fR" 4
+.el .IP "\f(CW$uuid\fR = \f(CW$trace\fR\->\fBuuid()\fR" 4
+.IX Item "$uuid = $trace->uuid()"
+.PD
+The UUID of the context that was used to create the event. (If uuid tagging was
+enabled)
+.ie n .IP "($pkg, $file, $line, $subname) = $trace\->call" 4
+.el .IP "($pkg, \f(CW$file\fR, \f(CW$line\fR, \f(CW$subname\fR) = \f(CW$trace\fR\->call" 4
+.IX Item "($pkg, $file, $line, $subname) = $trace->call"
+Get the basic call info as a list.
+.ie n .IP "@caller = $trace\->full_call" 4
+.el .IP "\f(CW@caller\fR = \f(CW$trace\fR\->full_call" 4
+.IX Item "@caller = $trace->full_call"
+Get the full caller(N) results.
+.ie n .IP "$warning_bits = $trace\->warning_bits" 4
+.el .IP "\f(CW$warning_bits\fR = \f(CW$trace\fR\->warning_bits" 4
+.IX Item "$warning_bits = $trace->warning_bits"
+Get index 9 from the full caller info. This is the warnings_bits field.
+.Sp
+The value of this is not portable across perl versions or even processes.
+However it can be used in the process that generated it to reproduce the
+warnings settings in a new scope.
+.Sp
+.Vb 4
+\& eval <<EOT;
+\& BEGIN { ${^WARNING_BITS} = $trace\->warning_bits };
+\& ... context\*(Aqs warning settings apply here ...
+\& EOT
+.Ve
+.SS "DISCOURAGED HUB RELATED FIELDS"
+.IX Subsection "DISCOURAGED HUB RELATED FIELDS"
+These fields were not always set properly by tools. These are \fBMOSTLY\fR
+deprecated by the Test2::EventFacet::Hub facets. These fields are not
+required, and may only reflect the hub that was current when the event was
+created, which is not necessarily the same as the hub the event was sent
+through.
+.PP
+Some tools did do a good job setting these to the correct hub, but you cannot
+always rely on that. Use the 'hubs' facet list instead.
+.ie n .IP "$hid = $trace\->{hid}" 4
+.el .IP "\f(CW$hid\fR = \f(CW$trace\fR\->{hid}" 4
+.IX Item "$hid = $trace->{hid}"
+.PD 0
+.ie n .IP "$hid = $trace\->\fBhid()\fR" 4
+.el .IP "\f(CW$hid\fR = \f(CW$trace\fR\->\fBhid()\fR" 4
+.IX Item "$hid = $trace->hid()"
+.PD
+The ID of the hub that was current when the event was created.
+.ie n .IP "$huuid = $trace\->{huuid}" 4
+.el .IP "\f(CW$huuid\fR = \f(CW$trace\fR\->{huuid}" 4
+.IX Item "$huuid = $trace->{huuid}"
+.PD 0
+.ie n .IP "$huuid = $trace\->\fBhuuid()\fR" 4
+.el .IP "\f(CW$huuid\fR = \f(CW$trace\fR\->\fBhuuid()\fR" 4
+.IX Item "$huuid = $trace->huuid()"
+.PD
+The UUID of the hub that was current when the event was created. (If uuid
+tagging was enabled).
+.ie n .IP "$int = $trace\->{nested}" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->{nested}" 4
+.IX Item "$int = $trace->{nested}"
+.PD 0
+.ie n .IP "$int = $trace\->\fBnested()\fR" 4
+.el .IP "\f(CW$int\fR = \f(CW$trace\fR\->\fBnested()\fR" 4
+.IX Item "$int = $trace->nested()"
+.PD
+How deeply nested the event is.
+.ie n .IP "$bool = $trace\->{buffered}" 4
+.el .IP "\f(CW$bool\fR = \f(CW$trace\fR\->{buffered}" 4
+.IX Item "$bool = $trace->{buffered}"
+.PD 0
+.ie n .IP "$bool = $trace\->\fBbuffered()\fR" 4
+.el .IP "\f(CW$bool\fR = \f(CW$trace\fR\->\fBbuffered()\fR" 4
+.IX Item "$bool = $trace->buffered()"
+.PD
+True if the event was buffered and not sent to the formatter independent of a
+parent (This should never be set when nested is \f(CW0\fR or \f(CW\*(C`undef\*(C'\fR).
+.SH METHODS
+.IX Header "METHODS"
+\&\fBNote:\fR All facet frames are also methods.
+.ie n .IP $trace\->set_detail($msg) 4
+.el .IP \f(CW$trace\fR\->set_detail($msg) 4
+.IX Item "$trace->set_detail($msg)"
+.PD 0
+.ie n .IP "$msg = $trace\->detail" 4
+.el .IP "\f(CW$msg\fR = \f(CW$trace\fR\->detail" 4
+.IX Item "$msg = $trace->detail"
+.PD
+Used to get/set a custom trace message that will be used INSTEAD of
+\&\f(CW\*(C`at <FILE> line <LINE>\*(C'\fR when calling \f(CW\*(C`$trace\->debug\*(C'\fR.
+.Sp
+\&\f(CWdetail()\fR is an alias to the \f(CW\*(C`details\*(C'\fR facet field for backwards
+compatibility.
+.ie n .IP "$str = $trace\->debug" 4
+.el .IP "\f(CW$str\fR = \f(CW$trace\fR\->debug" 4
+.IX Item "$str = $trace->debug"
+Typically returns the string \f(CW\*(C`at <FILE> line <LINE>\*(C'\fR. If \f(CW\*(C`detail\*(C'\fR is set
+then its value will be returned instead.
+.ie n .IP $trace\->alert($MESSAGE) 4
+.el .IP \f(CW$trace\fR\->alert($MESSAGE) 4
+.IX Item "$trace->alert($MESSAGE)"
+This issues a warning at the frame (filename and line number where
+errors should be reported).
+.ie n .IP $trace\->throw($MESSAGE) 4
+.el .IP \f(CW$trace\fR\->throw($MESSAGE) 4
+.IX Item "$trace->throw($MESSAGE)"
+This throws an exception at the frame (filename and line number where
+errors should be reported).
+.ie n .IP "($package, $file, $line, $subname) = $trace\->\fBcall()\fR" 4
+.el .IP "($package, \f(CW$file\fR, \f(CW$line\fR, \f(CW$subname\fR) = \f(CW$trace\fR\->\fBcall()\fR" 4
+.IX Item "($package, $file, $line, $subname) = $trace->call()"
+Get the caller details for the debug-info. This is where errors should be
+reported.
+.ie n .IP "$pkg = $trace\->package" 4
+.el .IP "\f(CW$pkg\fR = \f(CW$trace\fR\->package" 4
+.IX Item "$pkg = $trace->package"
+Get the debug-info package.
+.ie n .IP "$file = $trace\->file" 4
+.el .IP "\f(CW$file\fR = \f(CW$trace\fR\->file" 4
+.IX Item "$file = $trace->file"
+Get the debug-info filename.
+.ie n .IP "$line = $trace\->line" 4
+.el .IP "\f(CW$line\fR = \f(CW$trace\fR\->line" 4
+.IX Item "$line = $trace->line"
+Get the debug-info line number.
+.ie n .IP "$subname = $trace\->subname" 4
+.el .IP "\f(CW$subname\fR = \f(CW$trace\fR\->subname" 4
+.IX Item "$subname = $trace->subname"
+Get the debug-info subroutine name.
+.ie n .IP "$sig = trace\->signature" 4
+.el .IP "\f(CW$sig\fR = trace\->signature" 4
+.IX Item "$sig = trace->signature"
+Get a signature string that identifies this trace. This is used to check if
+multiple events are related. The signature includes pid, tid, file, line
+number, and the cid.
+.SH SOURCE
+.IX Header "SOURCE"
+The source code repository for Test2 can be found at
+\&\fIhttp://github.com/Test\-More/test\-more/\fR.
+.SH MAINTAINERS
+.IX Header "MAINTAINERS"
+.IP "Chad Granum <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.SH AUTHORS
+.IX Header "AUTHORS"
+.PD 0
+.IP "Chad Granum <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.PD
+.SH COPYRIGHT
+.IX Header "COPYRIGHT"
+Copyright 2020 Chad Granum <exodist@cpan.org>.
+.PP
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+.PP
+See \fIhttp://dev.perl.org/licenses/\fR