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}"); } }
/// <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(); } }