public static async Task Async_Lambda()
        {
            IDatabaseInfo          dbInfo   = SampleApplication.OneAgentSdk.CreateDatabaseInfo("MyDb", "MyVendor", ChannelType.TCP_IP, "database.example.com:1234");
            IDatabaseRequestTracer dbTracer = SampleApplication.OneAgentSdk.TraceSQLDatabaseRequest(dbInfo, "Select * From AA");

            int res = await dbTracer.TraceAsync(() => ExecuteDbCallIntAsync());
        }
        public static async Task Async_Exception_Lambda_And_Async_Exception_Lambda()
        {
            IDatabaseInfo          dbInfo   = SampleApplication.OneAgentSdk.CreateDatabaseInfo("MyDb", "MyVendor", ChannelType.TCP_IP, "database.example.com:1234");
            IDatabaseRequestTracer dbTracer = SampleApplication.OneAgentSdk.TraceSQLDatabaseRequest(dbInfo, "Select * From AA");

            try
            {
                await dbTracer.TraceAsync(() => ExecuteDbCallVoidExceptionAsync());
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exception in {nameof(Async_Exception_Lambda_And_Async_Exception_Lambda)}, Message: {e.Message}");
            }

            IDatabaseInfo          dbInfo2   = SampleApplication.OneAgentSdk.CreateDatabaseInfo("MyDb2", "MyVendor2", ChannelType.TCP_IP, "database.example.com:1234");
            IDatabaseRequestTracer dbTracer2 = SampleApplication.OneAgentSdk.TraceSQLDatabaseRequest(dbInfo2, "Select2 * From AA");

            try
            {
                int result = await dbTracer2.TraceAsync(() => ExecuteDbCallIntExceptionAsync());
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exception in {nameof(Async_Exception_Lambda_And_Async_Exception_Lambda)}, Message: {e.Message}");
            }
        }
Example #3
0
        /// <summary>
        /// Depicts various cases of misusing the SDK resulting in warnings through the logging callback
        /// </summary>
        public static void Sync_Misuse_LoggingCallbackTest()
        {
            IDatabaseInfo          dbInfo   = SampleApplication.OneAgentSdk.CreateDatabaseInfo("MyDb", "MyVendor", ChannelType.TCP_IP, "database.example.com:1234");
            IDatabaseRequestTracer dbTracer = SampleApplication.OneAgentSdk.TraceSQLDatabaseRequest(dbInfo, "Select * From AA");

            dbTracer.End();                 // Warning: missing Start
            dbTracer.Start();               // ok
            dbTracer.Start();               // Warning: already started
            dbTracer.End();                 // ok
            dbTracer.SetRoundTripCount(0);  // Warning: has to be set before End
            dbTracer.SetRowsReturned(0);    // Warning: has to be set before End
            dbTracer.End();                 // Warning: already ended
            dbTracer.Start();               // Warning: already ended
        }
        public static void Sync_StartEnd()
        {
            IDatabaseInfo          dbInfo   = SampleApplication.OneAgentSdk.CreateDatabaseInfo("MyDb", "MyVendor", ChannelType.TCP_IP, "database.example.com:1234");
            IDatabaseRequestTracer dbTracer = SampleApplication.OneAgentSdk.TraceSQLDatabaseRequest(dbInfo, "Select * From AA");

            dbTracer.Start();
            try
            {
                ExecuteDbCallVoid();
            }
            catch (Exception e)
            {
                dbTracer.Error(e);
                // handle or rethrow
            }
            finally
            {
                dbTracer.End();
            }
        }