تكامل حي متكامل

توقف عن كتابة السجلات الروتينية.
ابدأ بمراقبة نظامك فورياً وبصمت.

أرجوس هي الجيل القادم من أدوات التشخيص والمراقبة المتقدمة المصممة خصيصاً لبيئات .NET 5.0 إلى .NET 10.0. تمنحك رؤية عميقة لمسار تطبيقك بالكامل بصفر جهد برمجى.

.NET 10 دعم الإصدارات
0 كود مكرر
IL نسج وقت البناء
Argus Telemetry Dashboard Mockup

الفلسفة الأساسية للمنصة

لماذا يختار المهندسون أرجوس؟ لأنها توازن بذكاء فائق بين سهولة الدمج السريعة للمطور وسرعة تنفيذ الكود الفائقة في الذاكرة.

broken_image

المشكلة: التعقيد وتكلفة الأداء

كتابة السجلات التقليدية Serilog تملأ الكود بالسطور المكررة، بينما أدوات APM كـ Datadog تؤدي لزيادة استهلاك الذاكرة وتكلفة مالية باهظة.

auto_awesome

الحل: منصة أرجوس الموحدة

الاعتماد على نسج الكود في وقت البناء (IL Weaving) ومعالجة البيانات في الذاكرة لتتبع الطلبات وقواعد البيانات والشبكة بأقل استهلاك للموارد.

صفر كود مكرر

زخرف الفئات البرمجية باستخدام الأوجه (Aspects) لتوليد السجلات تلقائياً بدون تعقيد الكود.

أداء فائق السرعة

حقن حدود الكود IL boundary injection يتجاوز تماماً بطء عمليات الـ Reflection في وقت التشغيل.

سياق تتبع موحد

يتم ربط كل استدعاء برمجي، استعلام قاعدة بيانات، وطلب ويب بهوية تتبع موحدة traceparent.

المصنفات البرمجية المستقلة

تنقسم منصة أرجوس إلى أربع مكتبات مستقلة عالية التركيز، يمكن دمجها معاً أو استخدامها بشكل منفصل لتناسب طبيعة تطبيقك تماماً:

settings_suggest

⚙️ Argus Core

المنسق المركزي لإعدادات التهيئة، وأحواض التخزين (Sinks)، والتراخيص، وسياق التتبع.

  • توجيه متعدد الوجهات: إمكانية تسجيل السجلات في وقت واحد إلى الكونسول، الملفات الدورية، SQL Server، PostgreSQL، وقواعد بيانات ClickHouse العمودية.
  • نموضع الفشل التلقائي: قواعد ذكية للتحويل التلقائي؛ في حال تعطل خادم قاعدة البيانات الرئيسي، ينتقل التسجيل فورياً إلى السنك الاحتياطي.
  • الأمان والامتثال والخصوصية: إخفاء تلقائي للبيانات الحساسة (PII) وتشفيراً متماثلاً للبيانات.
  • سياق عالي الدقة: توفير سياق تتبع داخلي (ArgusContext) يربط كافة الأنشطة بمعرف Trace ID موحد.
  • تخصيص كامل للبيانات: إمكانية تخصيص كافة خصائص السجلات البرمجية، وتنسيق هيكلتها، ومفاتيح الاستبعاد البرمجي تلقائياً عبر ملفات التهيئة (appsettings.json) أو بواني خيارات الأكواد.
  • 🎯 التسليم المضمون — .WithPriorityMode(true): يُرسِل أرجوس السجل إلى السنك الأول أولاً؛ إن نجح يتوقف مباشرةً — بدون تكرار. إن فشل، يتدرج تلقائياً إلى السنك التالي في السلسلة. .WriteToSql().WriteToFile().WriteToConsole() — أولويات مرتبة بدون أي بنية تحتية إضافية.
center_focus_strong

🎯 DataAnnotation

تحليل وقياس حدود الأساليب (AOP) في وقت البناء بدون استخدام الـ Reflection.

  • ميزة [LogMethod]: زخرفة التابع أو الفئة بالكامل لرصد وقياس مدة التنفيذ تلقائياً.
  • أداء فائق السرعة: يتم حقن خطافات المراقبة مباشرة في كود الـ IL أثناء تجميع المشروع عبر MSBuild.
  • رصد شامل للحدود: يسجل تفاصيل الدخول (ENTER)، الخروج الناجح (EXIT)، الاستثناءات (EXCEPTION)، قيم المعاملات والمخرجات.
  • استبعاد مرن: استخدم [ArgusIgnore] لتخطي خصائص الذاكرة الحساسة أو التوابع بشكل ديناميكي.
data_object

🔌 DatabaseTracker

تتبع دقيق لاستعلامات EF Core وقواعد بيانات Dapper والاتصالات القياسية.

  • اعتراض استعلامات EF Core: تسجيل مراقب الأوامر بسطر واحد يلتقط كافة الاستعلامات، ومددها، ومعاملاتها.
  • تزيين الاتصالات: تغليف اتصالات ADO.NET و Dapper باستخدام ميزة .AsArgusTracking().
  • تدقيق مجموعات البيانات: تفعيل LogResultRows لمعاينة وفحص السجلات الفعلية المسترجعة من القارئ.
  • الامتثال البيئي: فحص خوادم الاتصال ومطابقتها بالتراخيص لضمان عزل بيئات التطوير والإنتاج.
language

🌐 NetworkTracker

مراقبة شاملة لطلبات HTTP الواردة، الاتصالات الخارجية، وخوادم gRPC.

برمجيات وسيطة لـ HTTP: تتبع محتويات الطلب والرد، الترويسات (Headers)، المعاملات، وعناوين الـ IP للعملاء.

التتبع الموزع (W3C): حقن وتمرير معرفات التتبع القياسية traceparent و X-Correlation-Id تلقائياً.

اعتراض gRPC: مراقب موحد لرصد استدعاءات الخادم، حمولة المعاملات، والاستجابة الفورية.

تتبع الحدود الخارجية: فلاتر HttpClient ذكية ترصد وتحلل مدد استجابة الخدمات الخارجية تلقائياً.

المقارنة المباشرة وجهاً لوجه

لماذا يفضل المطورون منصة أرجوس على السجلات التقليدية وأنظمة APMs السحابية الباهظة؟

القدرات الفنية والأداء السجلات التقليدية (ILogger/Serilog) وكلاء APMs (Datadog/New Relic) منصة أرجوس للمراقبة موصى به
الجهد البرمجي الإضافي السجلات التقليدية cancel مرتفع
يجب على المطور كتابة سجلات التتبع يدوياً وقياس الوقت بداخل كل كود واستعلام.
وكلاء APM check_circle معدوم
يتم التتبع تلقائياً عبر ربط وكيل (Agent) ثقيل في بيئة التشغيل.
منصة أرجوس للمراقبة check_circle شبه معدوم
فقط زخرف فئتك بـ [LogMethod] أو فعّلها بسطر واحد عند إقلاع التطبيق.
كفاءة أداء النظام السجلات التقليدية check_circle سريع
استهلاك منخفض للموارد، ولكنه يقل تدريجياً مع زيادة دمج النصوص البرمجية المعقدة.
وكلاء APM cancel ثقيل
استهلاك عالٍ لمعالج الـ CPU وحجم الذاكرة بسبب خطافات CLR العميقة والمستمرة.
منصة أرجوس للمراقبة speed مُحسّن لأقصى حد
استهلاك شبه معدوم لأن خطافات المراقبة تم نسجها مسبقاً في وقت البناء.
تتبع معاملات قواعد البيانات السجلات التقليدية cancel يدوي
يجب كتابة قيم المعاملات بداخل السجلات، أو تفعيل رصد EF Core المفرط والمربك.
وكلاء APM check_circle تلقائي
يتم رصد الاستعلام، ولكن غالباً ما يتم حجب قيم المعاملات والبيانات المسترجعة.
منصة أرجوس للمراقبة check_circle عميق ومباشر
يلتقط نصوص الاستعلامات، قيم المعاملات، وعينات حية من الجداول المسترجعة.
سياق التتبع الموزع السجلات التقليدية cancel معقد
يتطلب تهيئة باقات OpenTelemetry ثقيلة وكتابة ActivitySources يدوية.
وكلاء APM check_circle تلقائي
يتم إدارة وتمرير ترويسات التتبع الموزع بالكامل في الخلفية.
منصة أرجوس للمراقبة check_circle خفيف وبمعايير W3C
حقن الترويسة (traceparent) تلقائياً خارج الصندوق عبر HttpClient.
تضخم الأكواد البرمجية السجلات التقليدية cancel ضخم
تمتلئ الملفات البرمجية بسطور السجلات، ساعات قياس الوقت، وتكرار try-catch.
وكلاء APM check_circle معدوم
يتم تمثيل البيانات مباشرة في لوحات التحكم السحابية الخاصة بمزود الخدمة.
منصة أرجوس للمراقبة check_circle معدوم
الأوجه وخطافات الاعتراض تولد سجلات التتبع مباشرة بدون تضخيم لملفاتك.
تكاليف التراخيص والبنية السجلات التقليدية check_circle مجاني
سجلات ذاتية الإدارة، ولكن تكاليف فهارس التخزين قد ترتفع بشكل حاد.
وكلاء APM cancel مكلف للغاية
تكلفة شهرية باهظة تُحسب بناءً على عدد الخوادم، المقاعد، وحجم استيعاب البيانات.
منصة أرجوس للمراقبة check_circle اقتصادي لأبعد حد
مكتبات .NET قياسية خفيفة؛ مع إمكانية الكتابة الفائقة لـ ClickHouse للبيانات الضخمة.

تضخم الأكواد البرمجية مقابل بساطة الأوجه (AOP)

شاهد كيف تلغي حزمة DataAnnotation تعقيد التتبع والسطور المكررة من فئاتك البرمجية تماماً:

leaderboard منحنى تضخم الأكواد البرمجية

شاهد كيف تتضخم السطور البرمجية اليدوية بشكل خارج عن السيطرة مقارنة بأسلوب أرجوس

إجمالي الفئات في نظامك: 18
إجمالي الدوال في نظامك: 90
الوقت البرمجي الموفر: 0 ساعة
الوفر المالي للمؤسسة: $0
الأكواد التقليدية المكررة +110 سطراً
تتبع أرجوس الذكي 18 سطراً
16.8K 8.4K 0
System Size (Scale) →
السطور البرمجية التي تم توفيرها: 109 سطراً (99%)
delete_sweep الطريقة التقليدية (ضجيج برمجي مكرر) كود مكرر وممل
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;
        }
    }
}
error الأكواد الإضافية المكررة: +22 سطراً برمجيّاً / لكل دالة

تفرض كتابة ساعات توقيت، وسجلات يدوية مكررة، وتكرار try-catch في كل تابع برمجي لتتبع أداء النظام في بيئة التشغيل.

auto_awesome أسلوب أرجوس الذكي (النسج وقت البناء) تم نسجه وقت البناء
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);
    }
}
verified الأكواد المضافة للتتبع: سطر واحد فقط (فوق الفئة)

أكواد نظيفة بنقاء منطق عملك الأساسي فقط. يتكفل المترجم بحقن التتبع عالي الأداء داخل كود الـ IL أثناء البناء.

معاينة السجلات الجمالية

مع منصة أرجوس، يولد الطلب الفردي المار بنظامك سجلات واضحة ومنظمة ومترابطة بعمق:

telemetry_context.json
{
  "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"
      }
    ]
  }
}

تفعيل المنصة في 3 خطوات بسيطة

راقب أداء بيئة .NET الخاصة بك بالكامل في أقل من 5 دقائق:

الخطوة 1: تهيئة الإعدادات العامة وتتبع الشبكة

أضف الحزم البرمجية وقم بتسجيل خدمات التبعية بداخل ملف 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();

الخطوة 2: دمج البرمجيات الوسيطة ومراقب EF Core

احقن جمع التتبع بداخل خطوط تنفيذ التطبيق وقم بتسجيل مراقب أوامر قاعدة البيانات:

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
    }
}

الخطوة 3: زخرفة الخدمات لرصد الأداء بدون سطور إضافية

ضع ترويسة [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 فائق السرعة مع نمو حجم بياناتك.