Skip to content
This repository was archived by the owner on Dec 18, 2023. It is now read-only.

Commit a0ad255

Browse files
hide more classes as internal (#91)
* Hide BlankSpan and StarEndHandler implementations * moved spanbase to the implementation package * AttributeValue generic implementation is hidden now
1 parent 452dcde commit a0ad255

File tree

14 files changed

+28
-39
lines changed

14 files changed

+28
-39
lines changed

src/OpenCensus.Abstractions/Trace/IStartEndHandler.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public interface IStartEndHandler
2525
/// Called when span is being started.
2626
/// </summary>
2727
/// <param name="span">Span that just started.</param>
28-
void OnStart(SpanBase span);
28+
void OnStart(ISpan span);
2929

3030
/// <summary>
3131
/// Called when span is just ended.
3232
/// </summary>
3333
/// <param name="span">Span that was just ended.</param>
34-
void OnEnd(SpanBase span);
34+
void OnEnd(ISpan span);
3535
}
3636
}

src/OpenCensus.Abstractions/Trace/AttributeValue{T}.cs renamed to src/OpenCensus.Abstractions/Trace/Internal/AttributeValue{T}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace OpenCensus.Trace
2222
/// Generic attribute value.
2323
/// </summary>
2424
/// <typeparam name="T">Type of the value carried by this attribute value.</typeparam>
25-
public sealed class AttributeValue<T> : AttributeValue, IAttributeValue<T>
25+
internal sealed class AttributeValue<T> : AttributeValue, IAttributeValue<T>
2626
{
2727
internal AttributeValue(T value)
2828
{

src/OpenCensus.Exporter.Stackdriver/Implementation/StackdriverTraceExporter.cs

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -109,30 +109,12 @@ public static Span.Types.Link ToLink(this ILink link)
109109

110110
public static Google.Cloud.Trace.V2.AttributeValue ToAttributeValue(this IAttributeValue av)
111111
{
112-
var ret = new Google.Cloud.Trace.V2.AttributeValue();
113-
var attributeType = av.GetType();
114-
115-
// Handle all primitive types
116-
if (attributeType == typeof(AttributeValue<bool>))
117-
{
118-
ret.BoolValue = ((AttributeValue<bool>)av).Value;
119-
}
120-
else if (attributeType == typeof(AttributeValue<long>))
121-
{
122-
ret.IntValue = ((AttributeValue<long>)av).Value;
123-
}
124-
else // String or anything else is written as string
125-
{
126-
ret.StringValue = new TruncatableString()
127-
{
128-
Value = av.Match(
129-
s => s,
130-
b => b.ToString(),
131-
l => l.ToString(),
132-
d => d.ToString(),
133-
o => o.ToString())
134-
};
135-
}
112+
var ret = av.Match(
113+
(s) => new Google.Cloud.Trace.V2.AttributeValue() { StringValue = new TruncatableString() { Value = s } },
114+
(b) => new Google.Cloud.Trace.V2.AttributeValue() { BoolValue = b },
115+
(l) => new Google.Cloud.Trace.V2.AttributeValue() { IntValue = l },
116+
(d) => new Google.Cloud.Trace.V2.AttributeValue() { StringValue = new TruncatableString() { Value = d.ToString() } },
117+
(obj) => new Google.Cloud.Trace.V2.AttributeValue() { StringValue = new TruncatableString() { Value = obj.ToString() } });
136118

137119
return ret;
138120
}

src/OpenCensus/Trace/Export/InProcessRunningSpanStore.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
namespace OpenCensus.Trace.Export
1818
{
1919
using System.Collections.Generic;
20+
using Internal;
2021
using OpenCensus.Utils;
2122

2223
public sealed class InProcessRunningSpanStore : RunningSpanStoreBase

src/OpenCensus/Trace/BlankSpan.cs renamed to src/OpenCensus/Trace/Internal/BlankSpan.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
// limitations under the License.
1515
// </copyright>
1616

17-
namespace OpenCensus.Trace
17+
namespace OpenCensus.Trace.Internal
1818
{
1919
using System;
2020
using System.Collections.Generic;
2121
using OpenCensus.Trace.Export;
2222

23-
public sealed class BlankSpan : SpanBase
23+
internal sealed class BlankSpan : SpanBase
2424
{
2525
public static readonly BlankSpan Instance = new BlankSpan();
2626

src/OpenCensus/Trace/StartEndHandler.cs renamed to src/OpenCensus/Trace/Internal/StartEndHandler.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
// limitations under the License.
1515
// </copyright>
1616

17-
namespace OpenCensus.Trace
17+
namespace OpenCensus.Trace.Internal
1818
{
1919
using OpenCensus.Internal;
2020
using OpenCensus.Trace.Export;
2121

22-
public sealed class StartEndHandler : IStartEndHandler
22+
internal sealed class StartEndHandler : IStartEndHandler
2323
{
2424
private readonly ISpanExporter spanExporter;
2525
private readonly IRunningSpanStore runningSpanStore;
@@ -39,7 +39,7 @@ public StartEndHandler(ISpanExporter spanExporter, IRunningSpanStore runningSpan
3939
this.eventQueue = eventQueue;
4040
}
4141

42-
public void OnEnd(SpanBase span)
42+
public void OnEnd(ISpan span)
4343
{
4444
if ((span.Options.HasFlag(SpanOptions.RecordEvents) && this.enqueueEventForNonSampledSpans)
4545
|| span.Context.TraceOptions.IsSampled)
@@ -48,7 +48,7 @@ public void OnEnd(SpanBase span)
4848
}
4949
}
5050

51-
public void OnStart(SpanBase span)
51+
public void OnStart(ISpan span)
5252
{
5353
if (span.Options.HasFlag(SpanOptions.RecordEvents) && this.enqueueEventForNonSampledSpans)
5454
{
@@ -58,10 +58,10 @@ public void OnStart(SpanBase span)
5858

5959
private sealed class SpanStartEvent : IEventQueueEntry
6060
{
61-
private readonly SpanBase span;
61+
private readonly ISpan span;
6262
private readonly IRunningSpanStore activeSpansExporter;
6363

64-
public SpanStartEvent(SpanBase span, IRunningSpanStore activeSpansExporter)
64+
public SpanStartEvent(ISpan span, IRunningSpanStore activeSpansExporter)
6565
{
6666
this.span = span;
6767
this.activeSpansExporter = activeSpansExporter;
@@ -78,13 +78,13 @@ public void Process()
7878

7979
private sealed class SpanEndEvent : IEventQueueEntry
8080
{
81-
private readonly SpanBase span;
81+
private readonly ISpan span;
8282
private readonly IRunningSpanStore runningSpanStore;
8383
private readonly ISpanExporter spanExporter;
8484
private readonly ISampledSpanStore sampledSpanStore;
8585

8686
public SpanEndEvent(
87-
SpanBase span,
87+
ISpan span,
8888
ISpanExporter spanExporter,
8989
IRunningSpanStore runningSpanStore,
9090
ISampledSpanStore sampledSpanStore)

src/OpenCensus/Trace/NoopSpanBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ namespace OpenCensus.Trace
1818
{
1919
using System;
2020
using System.Collections.Generic;
21+
using Internal;
2122

2223
public class NoopSpanBuilder : SpanBuilderBase
2324
{

src/OpenCensus/Trace/Span.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ namespace OpenCensus.Trace
1919
using System;
2020
using System.Collections.Generic;
2121
using System.Linq;
22+
using Internal;
2223
using OpenCensus.Common;
2324
using OpenCensus.Internal;
2425
using OpenCensus.Trace.Config;
File renamed without changes.

src/OpenCensus/Trace/TracerBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
namespace OpenCensus.Trace
1818
{
1919
using System;
20+
using Internal;
2021
using OpenCensus.Common;
2122

2223
public abstract class TracerBase : ITracer

0 commit comments

Comments
 (0)