|
| 1 | +<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.6.1 Chrome/142.0.7444.265 Electron/39.8.0 Safari/537.36" version="29.6.1"> |
| 2 | + <diagram name="LogRecord Activity" id="log-record-activity"> |
| 3 | + <mxGraphModel dx="1019" dy="631" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1050" pageHeight="1100" math="0" shadow="0"> |
| 4 | + <root> |
| 5 | + <mxCell id="0" /> |
| 6 | + <mxCell id="1" parent="0" /> |
| 7 | + <mxCell id="2" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;opacity=30;" value="" vertex="1"> |
| 8 | + <mxGeometry height="990" width="210" x="40" y="40" as="geometry" /> |
| 9 | + </mxCell> |
| 10 | + <mxCell id="3" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;opacity=30;" value="" vertex="1"> |
| 11 | + <mxGeometry height="990" width="230" x="250" y="40" as="geometry" /> |
| 12 | + </mxCell> |
| 13 | + <mxCell id="4" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;opacity=30;" value="" vertex="1"> |
| 14 | + <mxGeometry height="990" width="290" x="480" y="40" as="geometry" /> |
| 15 | + </mxCell> |
| 16 | + <mxCell id="5" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;opacity=30;" value="" vertex="1"> |
| 17 | + <mxGeometry height="990" width="190" x="770" y="40" as="geometry" /> |
| 18 | + </mxCell> |
| 19 | + <mxCell id="6" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=12;" value="<b>Logger</b>" vertex="1"> |
| 20 | + <mxGeometry height="30" width="210" x="40" y="40" as="geometry" /> |
| 21 | + </mxCell> |
| 22 | + <mxCell id="7" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=12;" value="<b>HandleIDFilter</b>" vertex="1"> |
| 23 | + <mxGeometry height="30" width="230" x="250" y="40" as="geometry" /> |
| 24 | + </mxCell> |
| 25 | + <mxCell id="8" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=12;" value="<b>Routing Strategy</b>" vertex="1"> |
| 26 | + <mxGeometry height="30" width="290" x="480" y="40" as="geometry" /> |
| 27 | + </mxCell> |
| 28 | + <mxCell id="9" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=12;" value="<b>Handler</b>" vertex="1"> |
| 29 | + <mxGeometry height="30" width="190" x="770" y="40" as="geometry" /> |
| 30 | + </mxCell> |
| 31 | + <mxCell id="50" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#b09525;" value="<i>(per-handler routing filter)</i>" vertex="1"> |
| 32 | + <mxGeometry height="15" width="230" x="250" y="68" as="geometry" /> |
| 33 | + </mxCell> |
| 34 | + <mxCell id="51" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#9673a6;" value="<i>(AllowedHandlersStrategy)</i>" vertex="1"> |
| 35 | + <mxGeometry height="15" width="290" x="480" y="68" as="geometry" /> |
| 36 | + </mxCell> |
| 37 | + <mxCell id="10" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#000000;" value="" vertex="1"> |
| 38 | + <mxGeometry height="30" width="30" x="130" y="95" as="geometry" /> |
| 39 | + </mxCell> |
| 40 | + <mxCell id="11" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="Receive LogRecord<br>(with extra metadata)" vertex="1"> |
| 41 | + <mxGeometry height="50" width="170" x="60" y="145" as="geometry" /> |
| 42 | + </mxCell> |
| 43 | + <mxCell id="12" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="Apply logger-level filters<br>(e.g. ThrottleFilter)" vertex="1"> |
| 44 | + <mxGeometry height="50" width="170" x="60" y="220" as="geometry" /> |
| 45 | + </mxCell> |
| 46 | + <mxCell id="13" parent="1" style="rhombus;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="Passes?" vertex="1"> |
| 47 | + <mxGeometry height="60" width="80" x="105" y="295" as="geometry" /> |
| 48 | + </mxCell> |
| 49 | + <mxCell id="14" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#f8cecc;strokeColor=#b85450;" value="Record<br>suppressed" vertex="1"> |
| 50 | + <mxGeometry height="40" width="110" x="270" y="303" as="geometry" /> |
| 51 | + </mxCell> |
| 52 | + <mxCell id="15" parent="1" style="ellipse;html=1;shape=doubleCircle;whiteSpace=wrap;aspect=fixed;fillColor=#000000;strokeColor=#000000;" value="" vertex="1"> |
| 53 | + <mxGeometry height="20" width="20" x="315" y="360" as="geometry" /> |
| 54 | + </mxCell> |
| 55 | + <mxCell id="16" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="Fan out record to<br>each attached handler" vertex="1"> |
| 56 | + <mxGeometry height="50" width="170" x="60" y="395" as="geometry" /> |
| 57 | + </mxCell> |
| 58 | + <mxCell id="17" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=9;fontColor=#666666;" value="<i>For each attached handler</i>" vertex="1"> |
| 59 | + <mxGeometry height="20" width="150" x="155" y="450" as="geometry" /> |
| 60 | + </mxCell> |
| 61 | + <mxCell id="18" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#fff2cc;strokeColor=#d6b656;" value="HandleIDFilter.filter()<br>invoked for this handler" vertex="1"> |
| 62 | + <mxGeometry height="50" width="190" x="275" y="480" as="geometry" /> |
| 63 | + </mxCell> |
| 64 | + <mxCell id="19" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#fff2cc;strokeColor=#d6b656;" value="Call get_allowed(record)<br>(delegates to strategy)" vertex="1"> |
| 65 | + <mxGeometry height="50" width="190" x="275" y="555" as="geometry" /> |
| 66 | + </mxCell> |
| 67 | + <mxCell id="20" parent="1" style="rhombus;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" value="Stream<br>type?" vertex="1"> |
| 68 | + <mxGeometry height="60" width="80" x="585" y="610" as="geometry" /> |
| 69 | + </mxCell> |
| 70 | + <mxCell id="21" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#e1d5e7;strokeColor=#9673a6;" value="<font style="font-size: 10px;">ERSAllowedHandlers:<br>resolve from OKS<br>based on log level</font>" vertex="1"> |
| 71 | + <mxGeometry height="55" width="130" x="495" y="705" as="geometry" /> |
| 72 | + </mxCell> |
| 73 | + <mxCell id="22" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#e1d5e7;strokeColor=#9673a6;" value="<font style="font-size: 8px;">DefaultAllowedHandlers:<br>use record extras<br>or fallback_handlers (defined in HandleIDFilter)</font>" vertex="1"> |
| 74 | + <mxGeometry height="55" width="130" x="635" y="705" as="geometry" /> |
| 75 | + </mxCell> |
| 76 | + <mxCell id="23" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#000000;" value="" vertex="1"> |
| 77 | + <mxGeometry height="5" width="190" x="530" y="785" as="geometry" /> |
| 78 | + </mxCell> |
| 79 | + <mxCell id="24" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#fff2cc;strokeColor=#d6b656;" value="Intersection check:<br>handler_ids ∩ allowed" vertex="1"> |
| 80 | + <mxGeometry height="45" width="190" x="275" y="805" as="geometry" /> |
| 81 | + </mxCell> |
| 82 | + <mxCell id="25" parent="1" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" value="Non-<br>empty?" vertex="1"> |
| 83 | + <mxGeometry height="60" width="80" x="330" y="870" as="geometry" /> |
| 84 | + </mxCell> |
| 85 | + <mxCell id="26" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#f8cecc;strokeColor=#b85450;" value="Record dropped<br>for this handler" vertex="1"> |
| 86 | + <mxGeometry height="35" width="140" x="300" y="955" as="geometry" /> |
| 87 | + </mxCell> |
| 88 | + <mxCell id="27" parent="1" style="ellipse;html=1;shape=doubleCircle;whiteSpace=wrap;aspect=fixed;fillColor=#000000;strokeColor=#000000;" value="" vertex="1"> |
| 89 | + <mxGeometry height="20" width="20" x="360" y="1000" as="geometry" /> |
| 90 | + </mxCell> |
| 91 | + <mxCell id="28" parent="1" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fillColor=#d5e8d4;strokeColor=#82b366;" value="Format and emit<br>record to destination" vertex="1"> |
| 92 | + <mxGeometry height="50" width="150" x="790" y="875" as="geometry" /> |
| 93 | + </mxCell> |
| 94 | + <mxCell id="29" parent="1" style="ellipse;html=1;shape=doubleCircle;whiteSpace=wrap;aspect=fixed;fillColor=#000000;strokeColor=#000000;" value="" vertex="1"> |
| 95 | + <mxGeometry height="20" width="20" x="855" y="945" as="geometry" /> |
| 96 | + </mxCell> |
| 97 | + <mxCell id="30" edge="1" parent="1" source="10" style="endArrow=classic;html=1;rounded=0;" target="11" value=""> |
| 98 | + <mxGeometry relative="1" as="geometry" /> |
| 99 | + </mxCell> |
| 100 | + <mxCell id="31" edge="1" parent="1" source="11" style="endArrow=classic;html=1;rounded=0;" target="12" value=""> |
| 101 | + <mxGeometry relative="1" as="geometry" /> |
| 102 | + </mxCell> |
| 103 | + <mxCell id="32" edge="1" parent="1" source="12" style="endArrow=classic;html=1;rounded=0;" target="13" value=""> |
| 104 | + <mxGeometry relative="1" as="geometry" /> |
| 105 | + </mxCell> |
| 106 | + <mxCell id="33" edge="1" parent="1" source="13" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="14" value="No"> |
| 107 | + <mxGeometry relative="1" as="geometry" /> |
| 108 | + </mxCell> |
| 109 | + <mxCell id="34" edge="1" parent="1" source="14" style="endArrow=classic;html=1;rounded=0;" target="15" value=""> |
| 110 | + <mxGeometry relative="1" as="geometry" /> |
| 111 | + </mxCell> |
| 112 | + <mxCell id="35" edge="1" parent="1" source="13" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="16" value="Yes"> |
| 113 | + <mxGeometry relative="1" as="geometry" /> |
| 114 | + </mxCell> |
| 115 | + <mxCell id="36" edge="1" parent="1" source="16" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="18" value=""> |
| 116 | + <mxGeometry relative="1" as="geometry" /> |
| 117 | + </mxCell> |
| 118 | + <mxCell id="37" edge="1" parent="1" source="18" style="endArrow=classic;html=1;rounded=0;" target="19" value=""> |
| 119 | + <mxGeometry relative="1" as="geometry" /> |
| 120 | + </mxCell> |
| 121 | + <mxCell id="38" edge="1" parent="1" source="19" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="20" value=""> |
| 122 | + <mxGeometry relative="1" as="geometry" /> |
| 123 | + </mxCell> |
| 124 | + <mxCell id="39" edge="1" parent="1" source="20" style="endArrow=classic;html=1;rounded=0;" target="21" value="ERS"> |
| 125 | + <mxGeometry relative="1" as="geometry" /> |
| 126 | + </mxCell> |
| 127 | + <mxCell id="40" edge="1" parent="1" source="20" style="endArrow=classic;html=1;rounded=0;" target="22" value="Default"> |
| 128 | + <mxGeometry relative="1" as="geometry" /> |
| 129 | + </mxCell> |
| 130 | + <mxCell id="41" edge="1" parent="1" source="21" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="23" value=""> |
| 131 | + <mxGeometry relative="1" as="geometry" /> |
| 132 | + </mxCell> |
| 133 | + <mxCell id="42" edge="1" parent="1" source="22" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="23" value=""> |
| 134 | + <mxGeometry relative="1" as="geometry" /> |
| 135 | + </mxCell> |
| 136 | + <mxCell id="43" edge="1" parent="1" source="23" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="24" value="Return allowed set"> |
| 137 | + <mxGeometry relative="1" as="geometry" /> |
| 138 | + </mxCell> |
| 139 | + <mxCell id="44" edge="1" parent="1" source="24" style="endArrow=classic;html=1;rounded=0;" target="25" value=""> |
| 140 | + <mxGeometry relative="1" as="geometry" /> |
| 141 | + </mxCell> |
| 142 | + <mxCell id="45" edge="1" parent="1" source="25" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="26" value="Empty"> |
| 143 | + <mxGeometry relative="1" as="geometry" /> |
| 144 | + </mxCell> |
| 145 | + <mxCell id="46" edge="1" parent="1" source="26" style="endArrow=classic;html=1;rounded=0;" target="27" value=""> |
| 146 | + <mxGeometry relative="1" as="geometry" /> |
| 147 | + </mxCell> |
| 148 | + <mxCell id="47" edge="1" parent="1" source="25" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="28" value="Non-empty"> |
| 149 | + <mxGeometry relative="1" as="geometry" /> |
| 150 | + </mxCell> |
| 151 | + <mxCell id="48" edge="1" parent="1" source="28" style="endArrow=classic;html=1;rounded=0;" target="29" value=""> |
| 152 | + <mxGeometry relative="1" as="geometry" /> |
| 153 | + </mxCell> |
| 154 | + </root> |
| 155 | + </mxGraphModel> |
| 156 | + </diagram> |
| 157 | +</mxfile> |
0 commit comments