lib/ctf-ir/clock-class.c: add logging
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 11 May 2017 06:07:43 +0000 (02:07 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sun, 28 May 2017 16:57:42 +0000 (12:57 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
lib/ctf-ir/clock-class.c

index 96fd2c33ba9071ba8f95407d1d75182cb6dbbf45..eca2c2647a0a633b6c1bc6782b53e036c335b44c 100644 (file)
@@ -33,6 +33,9 @@
 #include <babeltrace/compiler-internal.h>
 #include <inttypes.h>
 
+#define BT_LOG_TAG "CLOCK-CLASS"
+#include <babeltrace/lib-logging-internal.h>
+
 static
 void bt_ctf_clock_class_destroy(struct bt_object *obj);
 
@@ -47,12 +50,23 @@ int bt_ctf_clock_class_set_name(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen) {
+       if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        if (bt_ctf_validate_identifier(name)) {
+               BT_LOGE("Clock class's name is not a valid CTF identifier: "
+                       "clock-class-addr=%p, name=\"%s\"",
+                       clock_class, name);
                ret = -1;
                goto end;
        }
@@ -62,11 +76,15 @@ int bt_ctf_clock_class_set_name(struct bt_ctf_clock_class *clock_class,
        } else {
                clock_class->name = g_string_new(name);
                if (!clock_class->name) {
+                       BT_LOGE_STR("Failed to allocate a GString.");
                        ret = -1;
                        goto end;
                }
        }
 
+       BT_LOGV("Set clock class's name: clock-class-addr=%p, name=\"%s\"",
+               clock_class, name);
+
 end:
        return ret;
 }
@@ -74,10 +92,13 @@ end:
 struct bt_ctf_clock_class *bt_ctf_clock_class_create(const char *name)
 {
        int ret;
-       struct bt_ctf_clock_class *clock_class =
-               g_new0(struct bt_ctf_clock_class, 1);
+       struct bt_ctf_clock_class *clock_class;
 
+       BT_LOGD("Creating default clock class object: name=\"%s\"",
+               name);
+       clock_class = g_new0(struct bt_ctf_clock_class, 1);
        if (!clock_class) {
+               BT_LOGE_STR("Failed to allocate one clock class.");
                goto error;
        }
 
@@ -88,16 +109,21 @@ struct bt_ctf_clock_class *bt_ctf_clock_class_create(const char *name)
        if (name) {
                ret = bt_ctf_clock_class_set_name(clock_class, name);
                if (ret) {
+                       BT_LOGE("Cannot set clock class's name: "
+                               "clock-class-addr=%p, name=\"%s\"",
+                               clock_class, name);
                        goto error;
                }
        }
 
        ret = bt_uuid_generate(clock_class->uuid);
        if (ret) {
+               BT_LOGE_STR("Failed to generate a UUID.");
                goto error;
        }
 
        clock_class->uuid_set = 1;
+       BT_LOGD("Created clock class object: addr=%p", clock_class);
        return clock_class;
 error:
        BT_PUT(clock_class);
@@ -109,6 +135,7 @@ const char *bt_ctf_clock_class_get_name(struct bt_ctf_clock_class *clock_class)
        const char *ret = NULL;
 
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
@@ -126,6 +153,7 @@ const char *bt_ctf_clock_class_get_description(
        const char *ret = NULL;
 
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
@@ -141,13 +169,25 @@ int bt_ctf_clock_class_set_description(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || !desc || clock_class->frozen) {
+       if (!clock_class || !desc) {
+               BT_LOGW("Invalid parameter: clock class or description is NULL: "
+                       "clock-class-addr=%p, desc-addr=%p",
+                       clock_class, desc);
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->description = g_string_new(desc);
        ret = clock_class->description ? 0 : -1;
+       BT_LOGV("Set clock class's description: clock-class-addr=%p, desc=\"%s\"",
+               clock_class, desc);
 end:
        return ret;
 }
@@ -158,6 +198,7 @@ uint64_t bt_ctf_clock_class_get_frequency(
        uint64_t ret = -1ULL;
 
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
@@ -171,12 +212,24 @@ int bt_ctf_clock_class_set_frequency(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen || freq == -1ULL) {
+       if (!clock_class || freq == -1ULL) {
+               BT_LOGW("Invalid parameter: clock class is NULL or frequency is invalid: "
+                       "clock-class-addr=%p, freq=%" PRIu64,
+                       clock_class, freq);
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->frequency = freq;
+       BT_LOGV("Set clock class's frequency: clock-class-addr=%p, freq=%" PRIu64,
+               clock_class, freq);
 end:
        return ret;
 }
@@ -186,6 +239,7 @@ uint64_t bt_ctf_clock_class_get_precision(struct bt_ctf_clock_class *clock_class
        uint64_t ret = -1ULL;
 
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
@@ -199,12 +253,24 @@ int bt_ctf_clock_class_set_precision(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen || precision == -1ULL) {
+       if (!clock_class || precision == -1ULL) {
+               BT_LOGW("Invalid parameter: clock class is NULL or precision is invalid: "
+                       "clock-class-addr=%p, precision=%" PRIu64,
+                       clock_class, precision);
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->precision = precision;
+       BT_LOGV("Set clock class's precision: clock-class-addr=%p, precision=%" PRIu64,
+               clock_class, precision);
 end:
        return ret;
 }
@@ -215,6 +281,9 @@ int bt_ctf_clock_class_get_offset_s(struct bt_ctf_clock_class *clock_class,
        int ret = 0;
 
        if (!clock_class || !offset_s) {
+               BT_LOGW("Invalid parameter: clock class or offset pointer is NULL: "
+                       "clock-class-addr=%p, offset-addr=%p",
+                       clock_class, offset_s);
                ret = -1;
                goto end;
        }
@@ -229,12 +298,22 @@ int bt_ctf_clock_class_set_offset_s(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen) {
+       if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->offset_s = offset_s;
+       BT_LOGV("Set clock class's offset (seconds): clock-class-addr=%p, offset-s=%" PRId64,
+               clock_class, offset_s);
 end:
        return ret;
 }
@@ -245,6 +324,9 @@ int bt_ctf_clock_class_get_offset_cycles(struct bt_ctf_clock_class *clock_class,
        int ret = 0;
 
        if (!clock_class || !offset) {
+               BT_LOGW("Invalid parameter: clock class or offset pointer is NULL: "
+                       "clock-class-addr=%p, offset-addr=%p",
+                       clock_class, offset);
                ret = -1;
                goto end;
        }
@@ -259,12 +341,22 @@ int bt_ctf_clock_class_set_offset_cycles(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen) {
+       if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->offset = offset;
+       BT_LOGV("Set clock class's offset (cycles): clock-class-addr=%p, offset-cycles=%" PRId64,
+               clock_class, offset);
 end:
        return ret;
 }
@@ -274,6 +366,7 @@ int bt_ctf_clock_class_is_absolute(struct bt_ctf_clock_class *clock_class)
        int ret = -1;
 
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
@@ -287,12 +380,22 @@ int bt_ctf_clock_class_set_is_absolute(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || clock_class->frozen) {
+       if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        clock_class->absolute = !!is_absolute;
+       BT_LOGV("Set clock class's absolute flag: clock-class-addr=%p, is-absolute=%d",
+               clock_class, !!is_absolute);
 end:
        return ret;
 }
@@ -302,7 +405,15 @@ const unsigned char *bt_ctf_clock_class_get_uuid(
 {
        const unsigned char *ret;
 
-       if (!clock_class || !clock_class->uuid_set) {
+       if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
+               ret = NULL;
+               goto end;
+       }
+
+       if (!clock_class->uuid_set) {
+               BT_LOGV("Clock class's UUID is not set: clock-class-addr=%p",
+                       clock_class);
                ret = NULL;
                goto end;
        }
@@ -317,13 +428,42 @@ int bt_ctf_clock_class_set_uuid(struct bt_ctf_clock_class *clock_class,
 {
        int ret = 0;
 
-       if (!clock_class || !uuid || clock_class->frozen) {
+       if (!clock_class || !uuid) {
+               BT_LOGW("Invalid parameter: clock class or UUID is NULL: "
+                       "clock-class-addr=%p, uuid-addr=%p",
+                       clock_class, uuid);
+               ret = -1;
+               goto end;
+       }
+
+       if (clock_class->frozen) {
+               BT_LOGW("Invalid parameter: clock class is frozen: addr=%p",
+                       clock_class);
                ret = -1;
                goto end;
        }
 
        memcpy(clock_class->uuid, uuid, sizeof(uuid_t));
        clock_class->uuid_set = 1;
+       BT_LOGV("Set clock class's UUID: clock-class-addr=%p, "
+               "uuid=\"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\"",
+               clock_class,
+               (unsigned int) uuid[0],
+               (unsigned int) uuid[1],
+               (unsigned int) uuid[2],
+               (unsigned int) uuid[3],
+               (unsigned int) uuid[4],
+               (unsigned int) uuid[5],
+               (unsigned int) uuid[6],
+               (unsigned int) uuid[7],
+               (unsigned int) uuid[8],
+               (unsigned int) uuid[9],
+               (unsigned int) uuid[10],
+               (unsigned int) uuid[11],
+               (unsigned int) uuid[12],
+               (unsigned int) uuid[13],
+               (unsigned int) uuid[14],
+               (unsigned int) uuid[15]);
 end:
        return ret;
 }
@@ -345,10 +485,14 @@ BT_HIDDEN
 void bt_ctf_clock_class_freeze(struct bt_ctf_clock_class *clock_class)
 {
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                return;
        }
 
-       clock_class->frozen = 1;
+       if (!clock_class->frozen) {
+               BT_LOGD("Freezing clock class: addr=%p", clock_class);
+               clock_class->frozen = 1;
+       }
 }
 
 BT_HIDDEN
@@ -357,7 +501,13 @@ void bt_ctf_clock_class_serialize(struct bt_ctf_clock_class *clock_class,
 {
        unsigned char *uuid;
 
+       BT_LOGD("Serializing clock class's metadata: clock-class-addr=%p, "
+               "metadata-context-addr=%p", clock_class, context);
+
        if (!clock_class || !context) {
+               BT_LOGW("Invalid parameter: clock class or metadata context is NULL: "
+                       "clock-class-addr=%p, metadata-context-addr=%p",
+                       clock_class, context);
                return;
        }
 
@@ -394,6 +544,7 @@ void bt_ctf_clock_class_destroy(struct bt_object *obj)
 {
        struct bt_ctf_clock_class *clock_class;
 
+       BT_LOGD("Destroying clock class: addr=%p", obj);
        clock_class = container_of(obj, struct bt_ctf_clock_class, base);
        if (clock_class->name) {
                g_string_free(clock_class->name, TRUE);
@@ -410,6 +561,8 @@ void bt_ctf_clock_value_destroy(struct bt_object *obj)
 {
        struct bt_ctf_clock_value *value;
 
+       BT_LOGD("Destroying clock value: addr=%p", obj);
+
        if (!obj) {
                return;
        }
@@ -424,18 +577,24 @@ struct bt_ctf_clock_value *bt_ctf_clock_value_create(
 {
        struct bt_ctf_clock_value *ret = NULL;
 
+       BT_LOGD("Creating clock value object: clock-class-addr=%p, "
+               "value=%" PRIu64, clock_class, value);
+
        if (!clock_class) {
+               BT_LOGW_STR("Invalid parameter: clock class is NULL.");
                goto end;
        }
 
        ret = g_new0(struct bt_ctf_clock_value, 1);
        if (!ret) {
+               BT_LOGE_STR("Failed to allocate one clock value.");
                goto end;
        }
 
        bt_object_init(ret, bt_ctf_clock_value_destroy);
        ret->clock_class = bt_get(clock_class);
        ret->value = value;
+       BT_LOGD("Created clock value object: addr=%p", ret);
 end:
        return ret;
 }
@@ -446,6 +605,9 @@ int bt_ctf_clock_value_get_value(
        int ret = 0;
 
        if (!clock_value || !raw_value) {
+               BT_LOGW("Invalid parameter: clock value or raw value is NULL: "
+                       "clock-value-addr=%p, raw-value-addr=%p",
+                       clock_value, raw_value);
                ret = -1;
                goto end;
        }
@@ -462,6 +624,9 @@ int bt_ctf_clock_value_get_value_ns_from_epoch(struct bt_ctf_clock_value *value,
        int64_t ns;
 
        if (!value || !ret_value_ns) {
+               BT_LOGW("Invalid parameter: clock value or return value pointer is NULL: "
+                       "clock-value-addr=%p, ret-value-addr=%p",
+                       value, ret_value_ns);
                ret = -1;
                goto end;
        }
@@ -487,6 +652,7 @@ struct bt_ctf_clock_class *bt_ctf_clock_value_get_class(
        struct bt_ctf_clock_class *clock_class = NULL;
 
        if (!clock_value) {
+               BT_LOGW_STR("Invalid parameter: clock value is NULL.");
                goto end;
        }
 
This page took 0.031538 seconds and 4 git commands to generate.