1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
from .segment import Segment
from .subsegment import Subsegment
class DummySegment(Segment):
"""
A dummy segment is created when ``xray_recorder`` decide to not sample
the segment based on sampling rules.
Adding data to a dummy segment becomes a no-op except for
subsegments. This is to reduce the memory footprint of the SDK.
A dummy segment will not be sent to the X-Ray daemon. Manually create
dummy segments is not recommended.
"""
def __init__(self, name='dummy'):
super(DummySegment, self).__init__(name=name, traceid='dummy')
self.sampled = False
def set_aws(self, aws_meta):
"""
No-op
"""
pass
def put_http_meta(self, key, value):
"""
No-op
"""
pass
def put_annotation(self, key, value):
"""
No-op
"""
pass
def put_metadata(self, key, value, namespace='default'):
"""
No-op
"""
pass
def set_user(self, user):
"""
No-op
"""
pass
def apply_status_code(self, status_code):
"""
No-op
"""
pass
def add_exception(self, exception, stack, remote=False):
"""
No-op
"""
pass
def serialize(self):
"""
No-op
"""
pass
class DummySubsegment(Subsegment):
"""
A dummy subsegment will be created when ``xray_recorder`` tries
to create a subsegment under a not sampled segment. Adding data
to a dummy subsegment becomes no-op. Dummy subsegment will not
be sent to the X-Ray daemon.
"""
def __init__(self, segment, name='dummy'):
super(DummySubsegment, self).__init__(name, 'dummy', segment)
self.sampled = False
def set_aws(self, aws_meta):
"""
No-op
"""
pass
def put_http_meta(self, key, value):
"""
No-op
"""
pass
def put_annotation(self, key, value):
"""
No-op
"""
pass
def put_metadata(self, key, value, namespace='default'):
"""
No-op
"""
pass
def set_sql(self, sql):
"""
No-op
"""
pass
def set_user(self, user):
"""
No-op
"""
pass
def apply_status_code(self, status_code):
"""
No-op
"""
pass
def add_exception(self, exception, stack, remote=False):
"""
No-op
"""
pass
def serialize(self):
"""
No-op
"""
pass
|