أرجوس هي الجيل القادم من أدوات التشخيص والمراقبة المتقدمة المصممة خصيصاً لبيئات .NET 5.0 إلى .NET 10.0. تمنحك رؤية عميقة لمسار تطبيقك بالكامل بصفر جهد برمجى.
لماذا يختار المهندسون أرجوس؟ لأنها توازن بذكاء فائق بين سهولة الدمج السريعة للمطور وسرعة تنفيذ الكود الفائقة في الذاكرة.
كتابة السجلات التقليدية Serilog تملأ الكود بالسطور المكررة، بينما أدوات APM كـ Datadog تؤدي لزيادة استهلاك الذاكرة وتكلفة مالية باهظة.
الاعتماد على نسج الكود في وقت البناء (IL Weaving) ومعالجة البيانات في الذاكرة لتتبع الطلبات وقواعد البيانات والشبكة بأقل استهلاك للموارد.
زخرف الفئات البرمجية باستخدام الأوجه (Aspects) لتوليد السجلات تلقائياً بدون تعقيد الكود.
حقن حدود الكود IL boundary injection يتجاوز تماماً بطء عمليات الـ Reflection في وقت التشغيل.
يتم ربط كل استدعاء برمجي، استعلام قاعدة بيانات، وطلب ويب بهوية تتبع موحدة traceparent.
تنقسم منصة أرجوس إلى أربع مكتبات مستقلة عالية التركيز، يمكن دمجها معاً أو استخدامها بشكل منفصل لتناسب طبيعة تطبيقك تماماً:
المنسق المركزي لإعدادات التهيئة، وأحواض التخزين (Sinks)، والتراخيص، وسياق التتبع.
ArgusContext) يربط كافة الأنشطة بمعرف Trace ID موحد.appsettings.json) أو بواني خيارات الأكواد..WithPriorityMode(true): يُرسِل أرجوس السجل إلى السنك الأول أولاً؛ إن نجح يتوقف مباشرةً — بدون تكرار. إن فشل، يتدرج تلقائياً إلى السنك التالي في السلسلة. .WriteToSql() → .WriteToFile() → .WriteToConsole() — أولويات مرتبة بدون أي بنية تحتية إضافية.تحليل وقياس حدود الأساليب (AOP) في وقت البناء بدون استخدام الـ Reflection.
ENTER)، الخروج الناجح (EXIT)، الاستثناءات (EXCEPTION)، قيم المعاملات والمخرجات.[ArgusIgnore] لتخطي خصائص الذاكرة الحساسة أو التوابع بشكل ديناميكي.تتبع دقيق لاستعلامات EF Core وقواعد بيانات Dapper والاتصالات القياسية.
.AsArgusTracking().LogResultRows لمعاينة وفحص السجلات الفعلية المسترجعة من القارئ.مراقبة شاملة لطلبات HTTP الواردة، الاتصالات الخارجية، وخوادم gRPC.
برمجيات وسيطة لـ HTTP: تتبع محتويات الطلب والرد، الترويسات (Headers)، المعاملات، وعناوين الـ IP للعملاء.
التتبع الموزع (W3C): حقن وتمرير معرفات التتبع القياسية traceparent و X-Correlation-Id تلقائياً.
اعتراض gRPC: مراقب موحد لرصد استدعاءات الخادم، حمولة المعاملات، والاستجابة الفورية.
تتبع الحدود الخارجية: فلاتر HttpClient ذكية ترصد وتحلل مدد استجابة الخدمات الخارجية تلقائياً.
لماذا يفضل المطورون منصة أرجوس على السجلات التقليدية وأنظمة APMs السحابية الباهظة؟
| القدرات الفنية والأداء | السجلات التقليدية (ILogger/Serilog) | وكلاء APMs (Datadog/New Relic) | منصة أرجوس للمراقبة موصى به |
|---|---|---|---|
| الجهد البرمجي الإضافي |
السجلات التقليدية
مرتفع يجب على المطور كتابة سجلات التتبع يدوياً وقياس الوقت بداخل كل كود واستعلام. |
وكلاء APM
معدوم يتم التتبع تلقائياً عبر ربط وكيل (Agent) ثقيل في بيئة التشغيل. |
منصة أرجوس للمراقبة
شبه معدوم فقط زخرف فئتك بـ [LogMethod] أو فعّلها بسطر واحد عند إقلاع التطبيق.
|
| كفاءة أداء النظام |
السجلات التقليدية
سريع استهلاك منخفض للموارد، ولكنه يقل تدريجياً مع زيادة دمج النصوص البرمجية المعقدة. |
وكلاء APM
ثقيل استهلاك عالٍ لمعالج الـ CPU وحجم الذاكرة بسبب خطافات CLR العميقة والمستمرة. |
منصة أرجوس للمراقبة
مُحسّن لأقصى حد استهلاك شبه معدوم لأن خطافات المراقبة تم نسجها مسبقاً في وقت البناء. |
| تتبع معاملات قواعد البيانات |
السجلات التقليدية
يدوي يجب كتابة قيم المعاملات بداخل السجلات، أو تفعيل رصد EF Core المفرط والمربك. |
وكلاء APM
تلقائي يتم رصد الاستعلام، ولكن غالباً ما يتم حجب قيم المعاملات والبيانات المسترجعة. |
منصة أرجوس للمراقبة
عميق ومباشر يلتقط نصوص الاستعلامات، قيم المعاملات، وعينات حية من الجداول المسترجعة. |
| سياق التتبع الموزع |
السجلات التقليدية
معقد يتطلب تهيئة باقات OpenTelemetry ثقيلة وكتابة ActivitySources يدوية. |
وكلاء APM
تلقائي يتم إدارة وتمرير ترويسات التتبع الموزع بالكامل في الخلفية. |
منصة أرجوس للمراقبة
خفيف وبمعايير W3C حقن الترويسة (traceparent) تلقائياً خارج الصندوق عبر HttpClient. |
| تضخم الأكواد البرمجية |
السجلات التقليدية
ضخم تمتلئ الملفات البرمجية بسطور السجلات، ساعات قياس الوقت، وتكرار try-catch. |
وكلاء APM
معدوم يتم تمثيل البيانات مباشرة في لوحات التحكم السحابية الخاصة بمزود الخدمة. |
منصة أرجوس للمراقبة
معدوم الأوجه وخطافات الاعتراض تولد سجلات التتبع مباشرة بدون تضخيم لملفاتك. |
| تكاليف التراخيص والبنية |
السجلات التقليدية
مجاني سجلات ذاتية الإدارة، ولكن تكاليف فهارس التخزين قد ترتفع بشكل حاد. |
وكلاء APM
مكلف للغاية تكلفة شهرية باهظة تُحسب بناءً على عدد الخوادم، المقاعد، وحجم استيعاب البيانات. |
منصة أرجوس للمراقبة
اقتصادي لأبعد حد مكتبات .NET قياسية خفيفة؛ مع إمكانية الكتابة الفائقة لـ ClickHouse للبيانات الضخمة. |
شاهد كيف تلغي حزمة DataAnnotation تعقيد التتبع والسطور المكررة من فئاتك البرمجية تماماً:
شاهد كيف تتضخم السطور البرمجية اليدوية بشكل خارج عن السيطرة مقارنة بأسلوب أرجوس
public class OrderService
{
private readonly ILogger<OrderService> _logger;
public OrderService(ILogger<OrderService> logger) => _logger = logger;
public OrderResult ProcessOrder(int orderId, Order order, decimal amount)
{
var sw = Stopwatch.StartNew();
// 1. Log Entry & parameter values
var paramsJson = JsonSerializer.Serialize(new { orderId, order, amount });
_logger.LogInformation("ENTER: ProcessOrder | Parameters: {P}", paramsJson);
try
{
// Core Business Logic
var result = ExecutePayment(order, amount);
// 2. Log Exit, duration, & return value
sw.Stop();
var resJson = JsonSerializer.Serialize(result);
_logger.LogInformation("EXIT succeeded in {D}ms | Return: {R}", sw.ElapsedMilliseconds, resJson);
return result;
}
catch (Exception ex)
{
// 3. Log Exception details & context
sw.Stop();
_logger.LogError(ex, "FAILED in {D}ms | Params: {P}", sw.ElapsedMilliseconds, paramsJson);
throw;
}
}
}
تفرض كتابة ساعات توقيت، وسجلات يدوية مكررة، وتكرار try-catch في كل تابع برمجي لتتبع أداء النظام في بيئة التشغيل.
using Argus.DataAnnotation;
[LogMethod] // Automatically captures entry details, parameter values, exit duration, exceptions, and return values!
public class OrderService
{
public OrderResult ProcessOrder(int orderId, Order order, decimal amount)
{
// Pristine business logic! Zero boilerplate, 100% telemetry coverage.
return ExecutePayment(order, amount);
}
}
أكواد نظيفة بنقاء منطق عملك الأساسي فقط. يتكفل المترجم بحقن التتبع عالي الأداء داخل كود الـ IL أثناء البناء.
مع منصة أرجوس، يولد الطلب الفردي المار بنظامك سجلات واضحة ومنظمة ومترابطة بعمق:
{
"Timestamp": "2026-06-01T02:50:00.102Z",
"TraceId": "5f2bc90a071f0082c18ba5c4e976db2e",
"Level": "Information",
"Category": "NetworkRequest",
"Message": "GET /api/orders/10245 -> 200 (45.32ms)",
"Data": {
"Method": "GET",
"Url": "/api/orders/10245",
"RemoteIpAddress": "192.168.10.45",
"RequestHeaders": {
"User-Agent": "Mozilla/5.0...",
"Accept": "application/json"
},
"DurationMs": 45.32,
"StatusCode": 200,
"ExecutionPath": [
{
"Aspect": "LogMethod",
"Method": "OrderController.GetOrderDetails(int id)",
"Parameters": { "id": 10245 },
"Duration": "38.15ms"
}
]
}
}
راقب أداء بيئة .NET الخاصة بك بالكامل في أقل من 5 دقائق:
أضف الحزم البرمجية وقم بتسجيل خدمات التبعية بداخل ملف Startup/Program:
using Argus;
using Argus.NetworkTracker;
var builder = WebApplication.CreateBuilder(args);
// 1. Configure the core options and database/network triggers
builder.Services.AddArgusLogging(options =>
{
options.WithMinimumLogLevel(Argus.Logging.LogLevel.Information)
.WithBeautiful(true)
.WriteToConsole()
.WriteToClickHouse("Host=localhost;Database=argus_logs")
.WithDatabase(db => db.WithLogResultRows(true).SetMaxResultRows(10))
.WithNetworkTracking(net => net.WithRequest(req => req.WithLogBody(true)));
})
.AddArgusNetworkTracking();
احقن جمع التتبع بداخل خطوط تنفيذ التطبيق وقم بتسجيل مراقب أوامر قاعدة البيانات:
var app = builder.Build();
// 2. Enable HTTP boundary and distributed trace context logging
app.UseArgusHttpLogging();
app.UseArgus();
app.MapControllers();
app.Run();
// Inside your EF database context class file:
using Argus.DatabaseTracker;
public class ApplicationDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql("YOUR_POSTGRES_CONNECTION_STRING")
.AddArgusTracking(); // Connects EF Core to DatabaseTracker
}
}
ضع ترويسة [LogMethod] فوق الفئات والتوابع لرصد وتتبع تدفق العمليات تلقائياً:
using Argus.DataAnnotation;
[LogMethod] // Automatically weaves trace boundary injection into all methods in the class
public class OrderProcessingService
{
public bool ProcessInvoice(int orderId, decimal amount)
{
// Your clean business logic, completely free of logger noise
return true;
}
}
انضم إلى مقاعد المهندسين المبكرين لتجربة أرجوس. قم بترقية وتوسيع سجلاتك تلقائياً لتدعم ClickHouse فائق السرعة مع نمو حجم بياناتك.