Ejemplo n.º 1
0
 def full_dict(self, detailed: bool = False) -> FullResponse:
     result = cast(FullResponse, self.to_dict())
     if detailed and "transaction.status" in self.event:
         result.update({
             "transaction.status":
             SPAN_STATUS_CODE_TO_NAME.get(self.event["transaction.status"],
                                          "unknown"),
         })
     if self.nodestore_event:
         result["timestamp"] = self.nodestore_event.data.get("timestamp")
         result["start_timestamp"] = self.nodestore_event.data.get(
             "start_timestamp")
         if detailed:
             if "measurements" in self.nodestore_event.data:
                 result["measurements"] = self.nodestore_event.data.get(
                     "measurements")
             result["_meta"] = {}
             result["tags"], result["_meta"]["tags"] = get_tags_with_meta(
                 self.nodestore_event)
     # Only add children that have nodestore events, which may be missing if we're pruning for trace navigator
     result["children"] = [
         child.full_dict(detailed) for child in self.children
         if child.nodestore_event
     ]
     return result
Ejemplo n.º 2
0
 def update_nodestore_extra(self, event, nodestore_event, detailed=False):
     """ Add extra data that we get from Nodestore """
     event.update(
         {event_key: nodestore_event.data.get(event_key) for event_key in NODESTORE_KEYS}
     )
     if detailed:
         if "measurements" in nodestore_event.data:
             event["measurements"] = nodestore_event.data.get("measurements")
         event["_meta"] = {}
         event["tags"], event["_meta"]["tags"] = get_tags_with_meta(nodestore_event)