প্রকল্প সম্পর্কে

dd-trace-go হলো Datadog-এর অফিসিয়াল Go ক্লায়েন্ট লাইব্রেরি স্যুট, যা পর্যবেক্ষণ এবং নিরাপত্তার জন্য ব্যবহৃত হয়। এটি তিনটি প্রধান ক্ষমতা প্রদান করে: অ্যাপ্লিকেশন পারফরম্যান্স মনিটরিং (APM) যা ওয়েব সার্ভার, ডেটাবেস এবং মাইক্রোসার্ভিস জুড়ে ডিস্ট্রিবিউটেড রিকোয়েস্ট ট্রেসিংয়ের জন্য; কন্টিনিউয়াস প্রোফাইলিং যা ফাংশন এবং লাইন নম্বর অনুযায়ী CPU, মেমরি এবং সিঙ্ক্রোনাইজেশন প্রোফাইল সংগ্রহ করে; এবং অ্যাপ্লিকেশন সিকিউরিটি ম্যানেজমেন্ট (ASM) যা SQL ইনজেকশন, SSRF এবং রিফ্লেক্টেড XSS-এর মতো অ্যাপ্লিকেশন-স্তরের আক্রমণ সনাক্ত ও প্রতিরোধ করে। মূল প্যাকেজগুলো হলো tracer (github.com/DataDog/dd-trace-go/v2/ddtrace/tracer) এবং profiler (github.com/DataDog/dd-trace-go/v2/profiler)। নেস্টেড মডিউল হিসেবে প্রকাশিত প্রচুর কন্ট্রিব প্যাকেজ জনপ্রিয় Go লাইব্রেরি যেমন net/http, gorilla/mux এবং database/sql-এর জন্য স্বয়ংক্রিয় ইন্সট্রুমেন্টেশন প্রদান করে। ASM কোনো স্বতন্ত্র প্যাকেজ নয় বরং এটি APM ট্রেসারে স্বচ্ছভাবে সংহত এবং DD_APPSEC_ENABLED=true এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে সক্রিয় করা যায়। প্রকল্পটি সর্বশেষ দুটি Go রিলিজ সমর্থন করে এবং ইউনিট, ইন্টিগ্রেশন, কন্ট্রিব এবং AppSec টেস্টের জন্য make টার্গেটসহ বিস্তৃত টেস্টিং অবকাঠামো অন্তর্ভুক্ত করে, সাথে লিন্টিং, ফরম্যাটিং এবং API সামঞ্জস্য পরীক্ষা রয়েছে। ইন্টিগ্রেশন টেস্টগুলো MySQL-এর মতো প্রয়োজনীয় সার্ভিস চালু করতে Docker এবং docker-compose ব্যবহার করে।