)]}'
{"ironic_prometheus_exporter/messaging.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e83f7ed68582935cc63f3a463c76c107a4f6a7ce","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def notify(self, ctxt, message, priority, retry):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            if message[\u0027event_type\u0027] \u003d\u003d \u0027hardware.ipmi.metrics\u0027:"},{"line_number":34,"context_line":"                registry \u003d CollectorRegistry()"},{"line_number":35,"context_line":"                node_name \u003d message[\u0027payload\u0027][\u0027node_name\u0027]"},{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_db2e86f9","line":34,"updated":"2019-07-23 08:18:21.000000000","message":"Wondering if we could use list comprehension to initialize a dict here\nWe could pass the same dict in L40 instead of the single names (or the values of the dict), plus the registry, since my understanding is that you\u0027re passing all the values anyway, except for the payload itself.\nJust an idea :)\nit probably implies some more refactoring in other functions","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c98b8571d0621eefd53175736705bedede507bbf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def notify(self, ctxt, message, priority, retry):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            if message[\u0027event_type\u0027] \u003d\u003d \u0027hardware.ipmi.metrics\u0027:"},{"line_number":34,"context_line":"                registry \u003d CollectorRegistry()"},{"line_number":35,"context_line":"                node_name \u003d message[\u0027payload\u0027][\u0027node_name\u0027]"},{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_5effe433","line":34,"in_reply_to":"7faddb67_1e9acc6d","updated":"2019-07-23 09:14:16.000000000","message":"absolutely! this works fine as it is, just some thoughts for a possible reworking","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"06eda6e7c7a444a75aa71c61a4d15157d01c639d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def notify(self, ctxt, message, priority, retry):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            if message[\u0027event_type\u0027] \u003d\u003d \u0027hardware.ipmi.metrics\u0027:"},{"line_number":34,"context_line":"                registry \u003d CollectorRegistry()"},{"line_number":35,"context_line":"                node_name \u003d message[\u0027payload\u0027][\u0027node_name\u0027]"},{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_64908d4b","line":34,"in_reply_to":"7faddb67_5effe433","updated":"2019-07-31 14:50:12.000000000","message":"Done","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"aa4fcbcfe4ae301268133c4cc69b8a9878eb9bf1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def notify(self, ctxt, message, priority, retry):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            if message[\u0027event_type\u0027] \u003d\u003d \u0027hardware.ipmi.metrics\u0027:"},{"line_number":34,"context_line":"                registry \u003d CollectorRegistry()"},{"line_number":35,"context_line":"                node_name \u003d message[\u0027payload\u0027][\u0027node_name\u0027]"},{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1e9acc6d","line":34,"in_reply_to":"7faddb67_db2e86f9","updated":"2019-07-23 08:54:01.000000000","message":"I can push a follow-up for all the refactoring if you are ok \n\u003d)","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e83f7ed68582935cc63f3a463c76c107a4f6a7ce","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"},{"line_number":38,"context_line":"                timestamp \u003d message[\u0027payload\u0027][\u0027timestamp\u0027]"},{"line_number":39,"context_line":"                node_payload \u003d message[\u0027payload\u0027][\u0027payload\u0027]"},{"line_number":40,"context_line":"                ipmi.timestamp_registry(timestamp, node_name, node_uuid,"},{"line_number":41,"context_line":"                                        instance_uuid, registry)"},{"line_number":42,"context_line":"                for category in node_payload:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_fbfb4244","line":39,"updated":"2019-07-23 08:18:21.000000000","message":"move this after L41","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"06eda6e7c7a444a75aa71c61a4d15157d01c639d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"},{"line_number":38,"context_line":"                timestamp \u003d message[\u0027payload\u0027][\u0027timestamp\u0027]"},{"line_number":39,"context_line":"                node_payload \u003d message[\u0027payload\u0027][\u0027payload\u0027]"},{"line_number":40,"context_line":"                ipmi.timestamp_registry(timestamp, node_name, node_uuid,"},{"line_number":41,"context_line":"                                        instance_uuid, registry)"},{"line_number":42,"context_line":"                for category in node_payload:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_e47b1d25","line":39,"in_reply_to":"7faddb67_9ea23c4b","updated":"2019-07-31 14:50:12.000000000","message":"Done","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c98b8571d0621eefd53175736705bedede507bbf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"},{"line_number":38,"context_line":"                timestamp \u003d message[\u0027payload\u0027][\u0027timestamp\u0027]"},{"line_number":39,"context_line":"                node_payload \u003d message[\u0027payload\u0027][\u0027payload\u0027]"},{"line_number":40,"context_line":"                ipmi.timestamp_registry(timestamp, node_name, node_uuid,"},{"line_number":41,"context_line":"                                        instance_uuid, registry)"},{"line_number":42,"context_line":"                for category in node_payload:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_9ea23c4b","line":39,"in_reply_to":"7faddb67_de8d1432","updated":"2019-07-23 09:14:16.000000000","message":"I forgot the \"nit\", so yes :)","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"aa4fcbcfe4ae301268133c4cc69b8a9878eb9bf1","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                node_uuid \u003d message[\u0027payload\u0027][\u0027node_uuid\u0027]"},{"line_number":37,"context_line":"                instance_uuid \u003d message[\u0027payload\u0027][\u0027instance_uuid\u0027]"},{"line_number":38,"context_line":"                timestamp \u003d message[\u0027payload\u0027][\u0027timestamp\u0027]"},{"line_number":39,"context_line":"                node_payload \u003d message[\u0027payload\u0027][\u0027payload\u0027]"},{"line_number":40,"context_line":"                ipmi.timestamp_registry(timestamp, node_name, node_uuid,"},{"line_number":41,"context_line":"                                        instance_uuid, registry)"},{"line_number":42,"context_line":"                for category in node_payload:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_de8d1432","line":39,"in_reply_to":"7faddb67_fbfb4244","updated":"2019-07-23 08:54:01.000000000","message":"Can I do this in a follow-up?","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"}],"ironic_prometheus_exporter/parsers/ipmi.py":[{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"49fbf1135629429d64c72fd8547ac96e5c55c993","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"},{"line_number":214,"context_line":"              \u0027node_uuid\u0027: node_uuid,"},{"line_number":215,"context_line":"              \u0027instance_uuid\u0027: instance_uuid}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_d3753433","line":212,"range":{"start_line":212,"start_character":14,"end_line":212,"end_character":46},"updated":"2019-07-19 13:12:54.000000000","message":"baremetal_last_payload_timestamp_seconds","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"dcd26c5c952248b103d1f1ce2964eed8d61e5e34","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"},{"line_number":214,"context_line":"              \u0027node_uuid\u0027: node_uuid,"},{"line_number":215,"context_line":"              \u0027instance_uuid\u0027: instance_uuid}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_76422e11","line":212,"range":{"start_line":212,"start_character":14,"end_line":212,"end_character":46},"in_reply_to":"7faddb67_d3753433","updated":"2019-07-19 14:15:04.000000000","message":"Ack","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"49fbf1135629429d64c72fd8547ac96e5c55c993","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    dt_1970 \u003d datetime(1970, 1, 1, 0, 0, 0)"},{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027\u0027, labelnames\u003dlabels.keys(),"},{"line_number":220,"context_line":"              registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_7301e069","line":219,"updated":"2019-07-19 13:12:54.000000000","message":"You need a description?","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"e2ab7c2cc3a3c9166794f94539e9198ff5b16bf8","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    dt_1970 \u003d datetime(1970, 1, 1, 0, 0, 0)"},{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027\u0027, labelnames\u003dlabels.keys(),"},{"line_number":220,"context_line":"              registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_645d9477","line":219,"in_reply_to":"7faddb67_59a3a500","updated":"2019-07-19 15:25:16.000000000","message":"Yes it is recommended to have a short description of the metric, some tools like Grafana can use this information to guide end-users. It would appear as `#HELP baremetal_last_payload_timestamp_seconds Timestamp of the last received payload.`\n\nI notice that other metrics have an empty description so it would be good to fill them whenever it is possible.","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"c969a44a167ed5f313eeb433fbb9e44df803d855","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    dt_1970 \u003d datetime(1970, 1, 1, 0, 0, 0)"},{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027\u0027, labelnames\u003dlabels.keys(),"},{"line_number":220,"context_line":"              registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_9b2c9fad","line":219,"in_reply_to":"7faddb67_645d9477","updated":"2019-07-22 11:08:55.000000000","message":"I will see how to add a description for the other metrics","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"dcd26c5c952248b103d1f1ce2964eed8d61e5e34","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    dt_1970 \u003d datetime(1970, 1, 1, 0, 0, 0)"},{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027\u0027, labelnames\u003dlabels.keys(),"},{"line_number":220,"context_line":"              registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_59a3a500","line":219,"in_reply_to":"7faddb67_7301e069","updated":"2019-07-19 14:15:04.000000000","message":"This would be what goes in the # HELP?\n\nThe actual HELp is: `# HELP baremetal_last_payload_timestamp`","commit_id":"78d4ace862902157384768e3bbdc2f987b1751b6"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e83f7ed68582935cc63f3a463c76c107a4f6a7ce","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                          use_ipmi_format)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp_seconds\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_7bb6728d","line":210,"updated":"2019-07-23 08:18:21.000000000","message":"I\u0027m afraid having hardcoded positional arguments will make this hard to modify in the future, what about passing a list or a dict ?\nI guess this will influence other functions as well, and consequently the tests, so maybe can be done in a refactoring follow-up","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"aa4fcbcfe4ae301268133c4cc69b8a9878eb9bf1","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                          use_ipmi_format)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp_seconds\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_9eaebc96","line":210,"in_reply_to":"7faddb67_7bb6728d","updated":"2019-07-23 08:54:01.000000000","message":"I can do a follow-up for this to be a dict (list doesn\u0027t make sense to me atm) but this would require changes in the driver also \u003d)","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c98b8571d0621eefd53175736705bedede507bbf","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                          use_ipmi_format)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp_seconds\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_dec194e6","line":210,"in_reply_to":"7faddb67_9eaebc96","updated":"2019-07-23 09:14:16.000000000","message":"oh right! Again, all thoughts for future reworking, just afraid to see things becoming too big to handle easily at some point :D","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"06eda6e7c7a444a75aa71c61a4d15157d01c639d","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                          use_ipmi_format)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def timestamp_registry(timestamp, node_name, node_uuid, instance_uuid,"},{"line_number":211,"context_line":"                       ipmi_metric_registry):"},{"line_number":212,"context_line":"    metric \u003d \u0027baremetal_last_payload_timestamp_seconds\u0027"},{"line_number":213,"context_line":"    labels \u003d {\u0027node_name\u0027: node_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_04fd196d","line":210,"in_reply_to":"7faddb67_dec194e6","updated":"2019-07-31 14:50:12.000000000","message":"I\u0027ve changed to receive a dictionary with the necessary  information and the registry.","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"3ba459484b8bcac0e67991b9b99323a9b09a8720","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027Timestamp of the last received payload\u0027,"},{"line_number":220,"context_line":"              labelnames\u003dlabels.keys(), registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_033cc1bd","line":220,"updated":"2019-07-22 13:11:35.000000000","message":"So we\u0027re sending a seconds from epoch field that will constantly change over the data series? How would data that would always change and always increase in a linear progression realistically be useful to prometheus?","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"62f53d0aeaaa5e22608621cb2ed3248dd072189e","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027Timestamp of the last received payload\u0027,"},{"line_number":220,"context_line":"              labelnames\u003dlabels.keys(), registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_868d1f33","line":220,"in_reply_to":"7faddb67_033cc1bd","updated":"2019-07-22 14:18:34.000000000","message":"The metric can be used to add more details in alerts and also to identify if some node stopped sending sensor data (using alerts also)","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"b6d50e41de1cc9896c431d0864d73362eb3dfe49","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027Timestamp of the last received payload\u0027,"},{"line_number":220,"context_line":"              labelnames\u003dlabels.keys(), registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_71714dde","line":220,"in_reply_to":"7faddb67_1509ec93","updated":"2019-07-30 07:27:08.000000000","message":"What Iury says: a query like \"time() - baremetal_last_payload_timestamp_seconds \u003e 10*60\" would return all nodes that haven\u0027t sent updated samples in the last 10 minutes (or more).\nhttps://prometheus.io/docs/practices/instrumentation/#timestamps-not-time-since","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d4600559ff93747d94f74d1817d33d65b9ba20af","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    dt_timestamp \u003d datetime.strptime(timestamp, \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":218,"context_line":"    value \u003d int((dt_timestamp - dt_1970).total_seconds())"},{"line_number":219,"context_line":"    g \u003d Gauge(metric, \u0027Timestamp of the last received payload\u0027,"},{"line_number":220,"context_line":"              labelnames\u003dlabels.keys(), registry\u003dipmi_metric_registry)"},{"line_number":221,"context_line":"    g.labels(**labels).set(value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1509ec93","line":220,"in_reply_to":"7faddb67_868d1f33","updated":"2019-07-29 18:47:05.000000000","message":"I guess prometheus is always going to get data like this. :\\","commit_id":"80e6fc9c867b4d8a5e285536637a1c0136c11d38"}]}
