Skip to content

Commit 640a238

Browse files
committed
Merge master into net7.
2 parents 22c7fbf + 2901146 commit 640a238

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

src/MySqlConnector/MySqlDataReader.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,8 +474,14 @@ internal static async Task<MySqlDataReader> CreateAsync(CommandListPosition comm
474474
await dataReader.NextResultAsync(ioBehavior, cancellationToken).ConfigureAwait(false);
475475
}
476476
}
477-
catch (Exception)
477+
catch (Exception ex)
478478
{
479+
if (activity is { IsAllDataRequested: true })
480+
{
481+
activity.SetException(ex);
482+
activity.Stop();
483+
}
484+
dataReader.m_creationFailed = true;
479485
dataReader.Dispose();
480486
throw;
481487
}
@@ -617,7 +623,8 @@ internal async Task DisposeAsync(IOBehavior ioBehavior, CancellationToken cancel
617623
Command.CancellableCommand.SetTimeout(Constants.InfiniteTimeout);
618624
connection.FinishQuerying(m_hasWarnings);
619625

620-
Activity?.SetSuccess();
626+
if (!m_creationFailed)
627+
Activity?.SetSuccess();
621628
Activity?.Stop();
622629

623630
if ((m_behavior & CommandBehavior.CloseConnection) != 0)
@@ -677,7 +684,8 @@ private ResultSet GetResultSet()
677684
private CommandListPosition m_commandListPosition;
678685
private bool m_closed;
679686
private bool m_hasWarnings;
680-
private ResultSet? m_resultSet;
681687
private bool m_hasMoreResults;
688+
private bool m_creationFailed;
689+
private ResultSet? m_resultSet;
682690
private DataTable? m_schemaTable;
683691
}

src/MySqlConnector/Utilities/ActivitySourceHelper.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,22 @@ internal static class ActivitySourceHelper
3636
return activity;
3737
}
3838

39-
public static void SetSuccess(this Activity activity) => activity.SetTag(StatusCodeTagName, "OK");
39+
public static void SetSuccess(this Activity activity)
40+
{
41+
#if NET6_0_OR_GREATER
42+
activity.SetStatus(ActivityStatusCode.Ok);
43+
#endif
44+
activity.SetTag(StatusCodeTagName, "OK");
45+
}
4046

4147
public static void SetException(this Activity activity, Exception exception)
4248
{
49+
var description = exception is MySqlException mySqlException ? mySqlException.ErrorCode.ToString() : exception.Message;
50+
#if NET6_0_OR_GREATER
51+
activity.SetStatus(ActivityStatusCode.Error, description);
52+
#endif
4353
activity.SetTag(StatusCodeTagName, "ERROR");
44-
activity.SetTag("otel.status_description", exception is MySqlException mySqlException ? mySqlException.ErrorCode.ToString() : exception.Message);
54+
activity.SetTag("otel.status_description", description);
4555
activity.AddEvent(new ActivityEvent("exception", tags: new ActivityTagsCollection
4656
{
4757
{ "exception.type", exception.GetType().FullName },

0 commit comments

Comments
 (0)