# GstTracerRecord

Tracing modules will create instances of this class to announce the data they will log and create a log formatter.

## GstTracerRecord

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstTracerRecord

The opaque GstTracerRecord instance structure

Since : 1.8

### Class structure

#### GstTracerRecordClass

### Gst.TracerRecordClass

## Gst.TracerRecord

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.TracerRecord

The opaque GstTracerRecord instance structure

Since : 1.8

## Gst.TracerRecord

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.TracerRecord

The opaque GstTracerRecord instance structure

Since : 1.8

### Constructors

#### gst_tracer_record_new

    GstTracerRecord *
    gst_tracer_record_new (const gchar * name,
                           const gchar * firstfield,
                           ... ...)

Create a new tracer record. The record instance can be used to efficiently log entries using gst_tracer_record_log. NULL terminator required after the last argument.

The name without the ".class" suffix will be used for the log records. There must be fields for each value that gets logged where the field name is the value name. The field must be a GstStructure describing the value. The sub structure must contain a field called 'type' of G_TYPE_GTYPE that contains the GType of the value. The resulting GstTracerRecord will take ownership of the field structures.

The way to deal with optional values is to log an additional boolean before the optional field, that if TRUE signals that the optional field is valid and FALSE signals that the optional field should be ignored. One must still log a placeholder value for the optional field though. Please also note, that pointer type values must not be NULL - the underlying serialisation can not handle that right now.

Parameters:

`name` –

name of new record, must end on ".class".

`firstfield` –

name of first field to set

`...` –

additional arguments

Returns ( [transfer: full]) –

a new GstTracerRecord

Since : 1.8

deprecated : 1.30: Build a #GstTraceFormat with gst_trace_format_builder_new() / gst_trace_format_register() instead.

### Methods

#### gst_tracer_record_log

    gst_tracer_record_log (GstTracerRecord * self,
                           ... ...)

Serialzes the trace event into the log.

Right now this is using the gstreamer debug log with the level TRACE (7) and the category "GST_TRACER".

Parameters:

`self` –

the tracer-record

`...` –

the args as described in the spec-

Since : 1.8

deprecated : 1.30: Use gst_trace_event() instead.

## Function Macros

### GST_TRACER_RECORD_CAST

    #define GST_TRACER_RECORD_CAST(obj)       ((GstTracerRecord *)(obj))

The results of the search are