αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

αž™αžΎαž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ microservice αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΎαžαž‘αžΎαž„ αž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„αž‰αŸ‚αž€αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αŸ” αž“αŸ…αž–αŸαž›αž€αžαŸ‹αžαŸ’αžšαžΆαž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αž»αž‚αŸ’αž‚αž›αž‘αŸ…αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžœαžΆαž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž αŸ…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαžαžΆαž˜αžŠαžΆαž“αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž– αž¬αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αž‘αžΆαž€αŸ‹αž‘αž„αž‘αŸ…αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αžŸαŸαž„αŸ—αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αž˜αŸ’αž›αžΆαŸ†αž„αž–αž›αž€αž˜αŸ’αž˜αžŠαŸ„αž™αžŠαŸƒ αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžαžΆαž˜αžŠαžΆαž“αž˜αž½αž™αŸ” αž’αŸ†αž–αžΈαžšαž”αŸ€αž” αž“αž·αž„αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαžœαžΆ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ”

αžαžΎαž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“

  1. αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαžšαžΆαŸ†αž„αžŸαŸ’αž‘αŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαŸ‚αž˜αž½αž™ αž“αž·αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‚αž€αž’αžΆαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž‘αžΆαŸ†αž„αž˜αžΌαž›αžšαžœαžΆαž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž…αžΌαž›αžšαž½αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αž§αž‘αžΆαž αžšαžŽαŸ:
    • αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž‡αžΆαž”αŸ‹αŸ—αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžšαžœαžΆαž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž§αž‘αžΆαž αžšαžŽαŸ αž‘αŸ…αž€αžΆαž“αŸ‹ geocoding αž¬αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”
    • αžšαž„αŸ‹αž…αžΆαŸ†αž™αžΌαžš I/O αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž”αžŽαŸ’αžαžΆαž‰ αž¬αž€αžΆαžšαž’αžΆαž“αžαžΆαžŸαŸ”
    • αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αžœαŸ‚αž„αŸ”
    • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΌαžšαžŠαŸ‚αž›αž‘αžΆαž˜αž‘αžΆαžš CPU αŸ”
    • αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΌαžŠαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž αžΎαž™αž’αžΆαž…αžŠαž€αž…αŸαž‰ αž¬αž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αž”αžΆαž“αŸ”
  2. αž™αž›αŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž αŸ…αžαžΆαž’αŸ’αžœαžΈ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ”
    αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger
    αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαžŸαŸ†αžŽαžΎαž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αžŸαŸαžœαžΆ WS -> αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ WS αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αžšαž™αŸˆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ R -> αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž•αŸ’αž‰αžΎαžŸαŸ†αžŽαžΎαž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ V -> αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ V αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž–αžΈ R αŸ” αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ -> αž”αžΆαž“αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ P -> αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ P αž”αžΆαž“αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ R -> αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ V αž˜αž·αž“αž’αžΎαž–αžΎαž“αžΉαž„αž›αž‘αŸ’αž’αž•αž›αž αžΎαž™αž”αžΆαž“αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ J -> αž αžΎαž™αž”αžΆαž“αžαŸ‚αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ WS αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž”αž“αŸ’αžαž‚αžŽαž“αžΆαž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„ αž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™αŸ”
    αž”αžΎαž‚αŸ’αž˜αžΆαž“αžŠαžΆαž“ αž¬αž―αž€αžŸαžΆαžšαž›αž˜αŸ’αž’αž·αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αž‘αŸ αžœαžΆαž–αž·αžαž‡αžΆαž›αŸ†αž”αžΆαž€αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αž˜αžΎαž›αž€αžΌαžŠαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„ αž αžΎαž™αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αž…αžΆαžαŸ‹αžαŸ’αž…αžΆαž™αž–αžΆαžŸαž–αŸαž‰αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αžŸαŸαž„αŸ— αž αžΎαž™αž›αžΆαž€αŸ‹αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž’αž»αž„αžŸαŸ†αžšαžΆαž˜ αž“αž·αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
  3. αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž˜αŸ‚αž€αž’αžΆαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž—αžΆαž‚αž–αž“αŸ’αž™αžΆαž–αŸαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· αž’αŸ’αž“αž€αž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αž–αŸαžαŸŒαž˜αžΆαž“αž‘αŸ…αžŠαžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžšαž€αž˜αžΎαž›αžαžΆαžαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž›αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαŸ” αž§αž‘αžΆαž αžšαžŽαŸ:
    • αž›αŸαžβ€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎ
    • αžŸαž·αž‘αŸ’αž’αž·
    • αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ
    • αž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž¬αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš
  4. αž”αž„αŸ’αžœαŸ‚αžšαžŠαžΆαž“αž‘αŸ…αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αžšαž„αž“αŸƒαžšαž„αŸ’αžœαžΆαžŸαŸ‹ αž“αž·αž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž”αž“αŸ’αžαŸ‚αž˜αžšαž½αž…αž αžΎαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαŸ”

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŠαžΆαž“αž’αžΆαž…αž€αžαŸ‹αžαŸ’αžšαžΆαž”αžΆαž“αŸ” αžœαž·αžŸαžΆαž›αž—αžΆαž–

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž˜αžΆαž“αž‚αŸ†αž“αž·αžαž“αŸƒαžœαž·αžŸαžΆαž›αž—αžΆαž–αž˜αž½αž™ αž“αŸαŸ‡αž‚αžΊαž‡αžΆ analogue αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž˜αž½αž™αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž»αž„αžŸαžΌαž›αŸ” αžŸαŸ’αž”αŸ‰αžΆαž˜αžΆαž“αŸ–

  • αžˆαŸ’αž˜αŸ„αŸ‡ αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·
  • αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αžœαž·αžŸαžΆαž›αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž
  • αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹
  • αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž–αŸαžαŸŒαž˜αžΆαž“αž˜αŸαžαžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαžŸαŸ„/αžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž αž¬αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž€αŸ†αž αž»αžŸ αž¬αž’αžαŸ‹
  • αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αž·αž„αž”αž‰αŸ’αž…αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸαŸ‡αŸ”
  • αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžœαž·αžŸαžΆαž›αž—αžΆαž–αž˜αžΆαžαžΆαž”αž·αžαžΆ

αžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžœαž·αžŸαžΆαž›αž—αžΆαž–αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž˜αŸ‚αž€αž’αžΆαž„αž“αŸƒαžœαž·αžŸαžΆαž›αž—αžΆαž–αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž˜αŸαŸ” αž“αŸ…αž–αŸαž›αžœαž·αž—αžΆαž‚ αž’αŸ’αž“αž€αž’αžΆαž…αžšαž€αžƒαžΎαž‰αž§αž‘αžΆαž αžšαžŽαŸ αžœαž·αžŸαžΆαž›αž—αžΆαž–αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž–αŸαž›αžαŸ’αž›αŸ‡αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αžŠαŸ„αž™αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžœαž·αžŸαžΆαž›αž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžŸαžΌαž˜αž˜αžΎαž›αžŠαžΎαž˜αžˆαžΎαž‘αžΆαŸ†αž„αž˜αžΌαž›αžαžΆαž„αž›αžΎ αž“αž·αž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸαŸ‡αŸ”

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

Opentrace, Jagger αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž˜αžΆαž“αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž’αž˜αŸ’αž˜αžαžΆαŸ” opentraceαžŠαŸ‚αž›αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžšαž”αŸ€αž” αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž› αžŠαŸ„αž™αž˜αž·αž“αž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž‘αŸ…αž“αžΉαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŽαžΆαž˜αž½αž™αž‡αžΆαž—αžΆαžŸαžΆαžŽαžΆαž˜αž½αž™αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž€αŸ’αž“αž»αž„ Java αž€αžΆαžšαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜αžšαž™αŸˆ Opentrace API αž‘αžΌαž‘αŸ… αž αžΎαž™αž“αŸ…αž€αŸ’αžšαŸ„αž˜αžœαžΆ αž§αž‘αžΆαž αžšαžŽαŸ Jaeger αž¬αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αž‘αŸαžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαž€αŸ‹αŸ”
αž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎ αž“αžΆαž„αž αž·αž“αž‘αŸαžš αž‡αžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž Opentrace αŸ” αžœαžΆαž˜αžΆαž“αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ–

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

  • Jaeger-agent αž‚αžΊαž‡αžΆαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αžŠαŸ‚αž›αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αžΈαž˜αž½αž™αŸ— αž αžΎαž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž“αŸ…αž›αžΎαž…αŸ’αžšαž€αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αžΆαž“αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž‘αŸ αž“αŸ„αŸ‡αžŠαžΆαž“αž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸαŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘
  • Jaeger-collector - αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž•αŸ’αž‰αžΎαžŠαžΆαž“αžŠαŸ‚αž›αž”αŸ’αžšαž˜αžΌαž›αž”αžΆαž“αž‘αŸ…αžœαžΆ αž αžΎαž™αžœαžΆαžŠαžΆαž€αŸ‹αž–αž½αž€αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαŸ”
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαž‡αžΆ cassandra αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž…αžΌαž›αž…αž·αžαŸ’αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž”αŸ’αžšαžΎ elasticsearch αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžšαž”αžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž˜αž·αž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž’αŸ’αžœαžΈαž‘αŸ…αžαžΆαžŸαž‘αŸαŸ”
  • Jaeger-query αž‚αžΊαž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž αžΎαž™αžαŸ’αžšαž‘αž”αŸ‹αžŠαžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αžšαž½αž…αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž—αžΆαž‚
  • Jaeger-ui αž‚αžΊαž‡αžΆαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžŠαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžœαŸ‚αž„αžšαž€ αž“αž·αž„αž˜αžΎαž›αžŠαžΆαž“ αžœαžΆαž‘αŸ… jaeger-query

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

αžŸαž˜αžΆαžŸαž—αžΆαž‚αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž opentrace jaeger αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αžŠαŸ‚αž›αžαžΆαž˜αžšαž™αŸˆαž“αŸ„αŸ‡αžœαž·αžŸαžΆαž›αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ… jaeger-agent αŸ”
αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹ Jagger αž“αŸ…αž€αŸ’αž“αž»αž„ Java αž…αž»αŸ‡αž˜αž€αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ io.opentracing.Tracer αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αžŠαžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαžΆαž˜αžšαž™αŸˆαžœαžΆαž“αžΉαž„αž αŸ„αŸ‡αž αžΎαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž–αž·αžαŸ”

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

αž•αž„αžŠαŸ‚αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž˜αžΆαžŸαž—αžΆαž‚αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœαž’αŸ’αž“αž€αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹ opentracing-spring-cloud-starter αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž–αžΈ Jaeger opentracing-spring-jaeger-cloud-starter αžŠαŸ‚αž›αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž§αž‘αžΆαž αžšαžŽαŸ αžŸαŸ†αžŽαžΎ http αž‘αŸ…αž€αžΆαž“αŸ‹αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆ αžŸαŸ†αžŽαžΎαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αžšαž™αŸˆ jdbc αŸ”αž›αŸ”

αžαžΆαž˜αžŠαžΆαž“β€‹αž€αžΆαžšβ€‹αž…αžΌαž›β€‹αž€αŸ’αž“αž»αž„ Java

αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž€αŸ†αž–αžΌαž› αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž€αžΎαž Span αžŠαŸ†αž”αžΌαž„ αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžŠαŸ„αž™αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœαž“αŸ…αž–αŸαž›αž‘αž‘αž½αž›αžŸαŸ†αžŽαžΎ αž¬αžŠαŸ„αž™αžŠαŸƒαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αžΆαž“αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αžαžΆαž˜αžšαž™αŸˆαžœαž·αžŸαžΆαž›αž—αžΆαž–αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŽαžΆαž˜αž½αž™αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž…αž„αŸ‹αž”αž“αŸ’αžαŸ‚αž˜ Span αžœαžΆαž™αž€ activeSpan αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž–αžΈ Scope αž”αž„αŸ’αž€αžΎαž Span αžαŸ’αž˜αžΈ αž αžΎαž™αž“αž·αž™αžΆαž™αžαžΆαž˜αŸαžšαž”αžŸαŸ‹αžœαžΆαž‡αžΆ activeSpan αž›αž‘αŸ’αž’αž•αž› αž αžΎαž™αž’αŸ’αžœαžΎαž±αŸ’αž™ Span αžαŸ’αž˜αžΈαžŸαž€αž˜αŸ’αž˜αŸ” αž“αŸ…αž–αŸαž›αž αŸ…αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž„αž€αŸ’αžšαŸ… αžœαž·αžŸαžΆαž›αž—αžΆαž–αžŸαž€αž˜αŸ’αž˜αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž–αž½αž€αž‚αŸ αž αžΎαž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αž”αž„αŸ’αž€αžΎαžαžœαž·αžŸαžΆαž›αž—αžΆαž–αžαŸ’αž˜αžΈαžŠαŸ„αž™αž™αŸ„αž„αž‘αŸ…αž›αžΎαžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸαŸ‡αŸ”
αž€αžΆαžšαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžαžΆαž˜αž§αž‘αžΆαž αžšαžŽαŸ Tracer αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžœαžΆαžαžΆαž˜αžšαž™αŸˆαž™αž“αŸ’αžαž€αžΆαžš DI ឬ GlobalTracer.get () αž‡αžΆαž’αžαŸαžšαžŸαž€αž› αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αž“αŸ’αžαž€αžΆαžš DI αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŠαžΆαž“αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αŸ NoopTracer αž“αžΉαž„αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αžŠαŸ‚αž›αž˜αž·αž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαžŸαŸ„αŸ‡αŸ”
αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αžœαž·αžŸαžΆαž›αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αž–αžΈ tracer αžαžΆαž˜αžšαž™αŸˆ ScopeManager αžœαž·αžŸαžΆαž›αž—αžΆαž–αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž–αžΈαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αž„αž“αŸƒαžœαž·αžŸαžΆαž›αž—αžΆαž–αžαŸ’αž˜αžΈ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαž·αžŸαžΆαž›αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘ αžŠαŸ‚αž›αž”αž·αž‘αžœαž·αžŸαžΆαž›αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž αžΎαž™αžαŸ’αžšαž‘αž”αŸ‹αžœαž·αžŸαžΆαž›αž—αžΆαž–αž˜αž»αž“αž‘αŸ… αžšαžŠαŸ’αž‹αžŸαž€αž˜αŸ’αž˜αŸ” αžœαž·αžŸαžΆαž›αž—αžΆαž–β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž—αŸ’αž‡αžΆαž”αŸ‹β€‹αž‘αŸ…β€‹αž“αžΉαž„β€‹αžαŸ’αžŸαŸ‚β€‹αžŸαŸ’αžšαž‘αžΆαž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž…αŸ’αžšαžΎαž“β€‹αžαŸ’αžŸαŸ‚ αž’αŸ’αž“αž€β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž—αŸ’αž›αŸαž…β€‹αž•αŸ’αž‘αŸαžšβ€‹αžœαž·αžŸαžΆαž›αž—αžΆαž–β€‹αžŸαž€αž˜αŸ’αž˜β€‹αž‘αŸ…β€‹αžαŸ’αžŸαŸ‚β€‹αžŸαŸ’αžšαž‘αžΆαž™β€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αžβ€‹αž‘αžΎαž™ β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αžŸαž€αž˜αŸ’αž˜β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž“αŸƒβ€‹αžœαž·αžŸαžΆαž›αž—αžΆαž–β€‹αž“αŸƒβ€‹αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™β€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αžβ€‹αžŠαŸ„αž™β€‹αž™αŸ„αž„β€‹αž‘αŸ…β€‹αž›αžΎβ€‹αžœαž·αžŸαžΆαž›αž—αžΆαž–β€‹αž“αŸαŸ‡αŸ”

io.opentracing.Tracer tracer = ...; // GlobalTracer.get()

void DoSmth () {
   try (Scope scope = tracer.buildSpan("DoSmth").startActive(true)) {
      ...
   }
}
void DoOther () {
    Span span = tracer.buildSpan("someWork").start();
    try (Scope scope = tracer.scopeManager().activate(span, false)) {
        // Do things.
    } catch(Exception ex) {
        Tags.ERROR.set(span, true);
        span.log(Map.of(Fields.EVENT, "error", Fields.ERROR_OBJECT, ex, Fields.MESSAGE, ex.getMessage()));
    } finally {
        span.finish();
    }
}

void DoAsync () {
    try (Scope scope = tracer.buildSpan("ServiceHandlerSpan").startActive(false)) {
        ...
        final Span span = scope.span();
        doAsyncWork(() -> {
            // STEP 2 ABOVE: reactivate the Span in the callback, passing true to
            // startActive() if/when the Span must be finished.
            try (Scope scope = tracer.scopeManager().activate(span, false)) {
                ...
            }
        });
    }
}

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž αž»αžαŸ’αžŸαŸ‚ αž€αŸαž˜αžΆαž“αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ TracedExecutorService αž“αž·αž„αžšαž»αŸ†αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αž”αž‰αŸ’αž‡αžΌαž“αžœαž·αžŸαžΆαž›αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ…αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž›αžΆαž™ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž·αž…αŸ’αž…αž€αžΆαžšαž’αžŸαž˜αž€αžΆαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ–

private ExecutorService executor = new TracedExecutorService(
    Executors.newFixedThreadPool(10), GlobalTracer.get()
);

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαžΎαžš http αžαžΆαž„αž€αŸ’αžšαŸ…αž˜αžΆαž“ TracingHttpClient

HttpClient httpClient = new TracingHttpClientBuilder().build();

αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž™αžΎαž„αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡

  • αžŸαžŽαŸ’αžαŸ‚αž€ αž“αž·αž„ DI αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž§αž”αž€αžšαžŽαŸαžαžΆαž˜αžŠαžΆαž“αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž¬αžŸαž˜αžΆαžŸαž—αžΆαž‚ αž˜αžΆαž“αžαŸ’αžŸαŸ‚αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· Tracer αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž αžΎαž™αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎ GlobalTracer.get()αŸ”
  • αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžŸαž˜αžΆαžŸαž—αžΆαž‚ αž¬αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž¬αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž αŸ…αž–αžΈαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‡αž·αžαžαžΆαž„αž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžŠαžΆαž“αžŠαŸ„αž™αžŠαŸƒ αž”αŸ’αžšαžŸαž·αž“αž”αžΎ @Traced αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ java annotations αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž–αž½αž€αžœαžΆαž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„αŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœ αž“αž·αž„αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœαž…αžΆαžŸαŸ‹ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžŠαž·αž–αž–αž€αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœ opentraing αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„ DI αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž±αŸ’αž™αžŠαžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž“αž·αž‘αžΆαžƒαžšαžŠαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαžœαžΆαžŠαŸ„αž™αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ github.com/opentracing-contrib/java-spring-jaeger/blob/master/opentracing-spring-jaeger-starter/src/main/java/io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.java
  • αžŸαžΆαž€αž›αŸ’αž”αž„αž‡αžΆαž˜αž½αž™αž’αž“αž’αžΆαž“αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž…αž„αŸ’αž’αžΌαžšαž‘αŸ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ’αžšαžΎαžŸαžΆαž€αž›αŸ’αž”αž„αž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ”
  • αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“ spring.application.name αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžœαžΆ αžŠαŸ‚αž›αžŠαžΆαž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžαŸ’αžšαžΆαŸ” αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž›αž€αŸ‹αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž˜αž·αž“αž±αŸ’αž™αž‡αŸ’αžšαŸ€αžαž‡αŸ’αžšαŸ‚αž€αž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸαžšαž½αž˜αž‚αŸ’αž“αžΆαŸ”
  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎ GlobalTracer αž“αž·αž„ tomcat αž“αŸ„αŸ‡αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ tomcat αž“αŸαŸ‡αž˜αžΆαž“ GlobalTracer αž˜αž½αž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž–αž½αž€αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”
  • αž“αŸ…αž–αŸαž›αž”αž“αŸ’αžαŸ‚αž˜αžŠαžΆαž“αž‘αŸ…αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž…αŸ’αžšαžΎαž“αžŠαž„αž€αŸ’αž“αž»αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž‘αŸαŸ” αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžŠαžΆαž“αž‘αžΌαž‘αŸ…αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž’αžΆαž“αžΆαžšαž™αŸˆαž–αŸαž›αž€αžΆαžšαž„αžΆαžšαžŸαžšαž»αž”αŸ” αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸαž”αž“αŸ’αž‘αž»αž€αž›αžΎαžŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαŸ”
  • αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ jaeger-ui αžŸαŸ†αžŽαžΎαž’αŸ†αž–αŸαž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ† αž αžΎαž™αžŠαŸ„αž™αžŸαžΆαžšαž–αž½αž€αž‚αŸαž˜αž·αž“αž”αžΆαž“αžšαž„αŸ‹αž…αžΆαŸ†αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž” αž–αž½αž€αž‚αŸαž”αžΆαž“αž’αŸ’αžœαžΎαžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› jaeger-query αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‰αŸ‰αžΆαŸ†αž€αžΆαžšαž…αž„αž…αžΆαŸ†αž…αŸ’αžšαžΎαž“ αž“αž·αž„αž”αž“αŸ’αžαž™αž›αŸ’αž”αžΏαž“αž™αžΊαžαŸ” αž‡αž½αž™αžŠαŸ„αž™αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ jaeger-query αž‘αžΎαž„αžœαž·αž‰

αž‚αŸ†αžšαžΌ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž˜αžΎαž›αžŠαžΆαž“

αž˜αžΆαž“αž”αžΈαž”αŸ’αžšαž—αŸαž‘ αžŠαžΆαž“αž‚αŸ†αžšαžΌ:

  1. Const αžŠαŸ‚αž›αž•αŸ’αž‰αžΎ αž“αž·αž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŠαžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”
  2. Probabilistic αžŠαŸ‚αž›αžαŸ’αžšαž„αžŠαžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžΌαž”αžΆαž”αŸŠαžΈαž›αžΈαžαŸαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”
  3. αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αžšαž·αžαžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αžŠαžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ αž‘αžΆαŸ†αž„αž“αŸ…αž›αžΎαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžš jaeger αž¬αž“αŸ…αž›αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž”αŸ’αžšαžΎ const 1 αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αž„αŸ‹αž’αŸ’αž“αž€αžœαžΆαž™αžαž˜αŸ’αž›αŸƒ αž–αŸ’αžšαŸ„αŸ‡αž˜αž·αž“αž˜αžΆαž“αžŸαŸ†αžŽαžΎαž…αŸ’αžšαžΎαž“αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αž½αž€αž‚αŸαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž™αžΌαžšαŸ” αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž“αžΉαž„αž•αŸ’αž‘αž»αž€αž›αžΎαžŸαž‘αž˜αŸ’αž„αž“αŸ‹αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžœαžΆαž”αžΆαž“αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎ cassandra αž“αŸ„αŸ‡αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžœαžΆαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαŸ‚αžšαž™αŸˆαž–αŸαž›αž–αžΈαžšαžαŸ’αž„αŸƒαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎ αžŸαžšαžŸαŸƒαž–αž½αžšαŸ” αž αžΎαž™β€‹αžŠαžΆαž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž–αŸαž›β€‹αžœαŸαž›αžΆ αž αžΎαž™β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž›αž»αž”β€‹αž…αŸαž‰β€‹αž‘αžΎαž™αŸ” αž›αž·αž”αž·αž€αŸ’αžšαž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž„αŸƒαž“αžΈαž˜αž½αž™αŸ— αž§αž‘αžΆαž αžšαžŽαŸ jaeger-service-2019-03-04αŸ” αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αžαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαžŸαž˜αŸ’αž’αžΆαžαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αžΌαžœαžŠαžΆαž“αž…αžΆαžŸαŸ‹αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αžŠαžΆαž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ–

  • αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αžαŸ’αžšαž„αžŠαžΆαž“ αž§αž‘αžΆαž αžšαžŽαŸ tomcat7-αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ tomcat αž αžΎαž™αž˜αž·αž“αž’αžΆαž…αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžšαž”αžŸαŸ‹αžœαžΆαž”αžΆαž“αž‘αŸαŸ”
  • αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž› αž“αž·αž„αž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αž”αŸ’αž”αž”αžšαž˜αžΆ αž§αž‘αžΆαž αžšαžŽαŸαž…αžΆαž”αŸ‹αž–αžΈ 10 αžœαž·αž“αžΆαž‘αžΈ αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž™αžΌαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
    αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger
  • αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžŠαžΆαž“αž˜αž½αž™ αž αžΎαž™αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžαž™αž…αž»αŸ‡αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”
    αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž˜αžŠαžΆαž“ OpenTracing αž“αž·αž„ Jaeger

αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžš αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŸαŸ†αžŽαžΎαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αžŠαžΆαž“αžŠαŸ„αž™αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸαŸ‡αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αžŸαŸ’αž›αžΆαž€ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž…αž“αŸ’αž›αŸ„αŸ‡αžŠαžΆαž“αŸ”

αž―αž€αžŸαžΆαžš

αž’αžαŸ’αžαž”αž‘

Π’ΠΈΠ΄Π΅ΠΎ

  • www.youtube.com/watch?v=qg0ENOdP1Lo αžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž”αŸ’αžšαžΎ Jaeger αž“αž·αž„ Prometheus αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αžŸαŸ†αžŽαž½αžšαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž αŸαžŸ - Bryan Boreham
  • www.youtube.com/watch?v=WRntQsUajow αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αŸ– Jaeger - Yuri Shkuro, Uber & Pavol Loffay, Red Hat
  • www.youtube.com/watch?v=fsHb0qK37bc Serghei Iakovlev, "αžšαžΏαž„αžαžΌαž…αž˜αž½αž™αž“αŸƒαž‡αŸαž™αž‡αž˜αŸ’αž“αŸ‡αžŠαŸαž’αŸ†αž˜αž½αž™: OpenTracing, AWS αž“αž·αž„ Jaeger"

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹