@@ -33,10 +33,10 @@ type count struct {
3333 component.ShutdownFunc
3434
3535 spansMetricDefs map [string ]metricDef [* ottlspan.TransformContext ]
36- spanEventsMetricDefs map [string ]metricDef [ottlspanevent.TransformContext ]
37- metricsMetricDefs map [string ]metricDef [ottlmetric.TransformContext ]
38- dataPointsMetricDefs map [string ]metricDef [ottldatapoint.TransformContext ]
39- logsMetricDefs map [string ]metricDef [ottllog.TransformContext ]
36+ spanEventsMetricDefs map [string ]metricDef [* ottlspanevent.TransformContext ]
37+ metricsMetricDefs map [string ]metricDef [* ottlmetric.TransformContext ]
38+ dataPointsMetricDefs map [string ]metricDef [* ottldatapoint.TransformContext ]
39+ logsMetricDefs map [string ]metricDef [* ottllog.TransformContext ]
4040 profilesMetricDefs map [string ]metricDef [ottlprofile.TransformContext ]
4141}
4242
@@ -52,7 +52,7 @@ func (c *count) ConsumeTraces(ctx context.Context, td ptrace.Traces) error {
5252 resourceSpan := td .ResourceSpans ().At (i )
5353 resourceAttrs := resourceSpan .Resource ().Attributes ()
5454 spansCounter := newCounter [* ottlspan.TransformContext ](c .spansMetricDefs )
55- spanEventsCounter := newCounter [ottlspanevent.TransformContext ](c .spanEventsMetricDefs )
55+ spanEventsCounter := newCounter [* ottlspanevent.TransformContext ](c .spanEventsMetricDefs )
5656
5757 for j := 0 ; j < resourceSpan .ScopeSpans ().Len (); j ++ {
5858 scopeSpan := resourceSpan .ScopeSpans ().At (j )
@@ -69,8 +69,9 @@ func (c *count) ConsumeTraces(ctx context.Context, td ptrace.Traces) error {
6969 for l := 0 ; l < span .Events ().Len (); l ++ {
7070 event := span .Events ().At (l )
7171 spanEventsCounter .updateTimestamp (event .Timestamp ())
72- eCtx := ottlspanevent .NewTransformContext (event , span , scopeSpan .Scope (), resourceSpan .Resource (), scopeSpan , resourceSpan )
72+ eCtx := ottlspanevent .NewTransformContextPtr (event , span , scopeSpan .Scope (), resourceSpan .Resource (), scopeSpan , resourceSpan )
7373 multiError = errors .Join (multiError , spanEventsCounter .update (ctx , event .Attributes (), scopeAttrs , resourceAttrs , eCtx ))
74+ eCtx .Close ()
7475 }
7576 }
7677 }
@@ -102,17 +103,18 @@ func (c *count) ConsumeMetrics(ctx context.Context, md pmetric.Metrics) error {
102103 for i := 0 ; i < md .ResourceMetrics ().Len (); i ++ {
103104 resourceMetric := md .ResourceMetrics ().At (i )
104105 resourceAttrs := resourceMetric .Resource ().Attributes ()
105- metricsCounter := newCounter [ottlmetric.TransformContext ](c .metricsMetricDefs )
106- dataPointsCounter := newCounter [ottldatapoint.TransformContext ](c .dataPointsMetricDefs )
106+ metricsCounter := newCounter [* ottlmetric.TransformContext ](c .metricsMetricDefs )
107+ dataPointsCounter := newCounter [* ottldatapoint.TransformContext ](c .dataPointsMetricDefs )
107108
108109 for j := 0 ; j < resourceMetric .ScopeMetrics ().Len (); j ++ {
109110 scopeMetrics := resourceMetric .ScopeMetrics ().At (j )
110111 scopeAttrs := scopeMetrics .Scope ().Attributes ()
111112
112113 for k := 0 ; k < scopeMetrics .Metrics ().Len (); k ++ {
113114 metric := scopeMetrics .Metrics ().At (k )
114- mCtx := ottlmetric .NewTransformContext (metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
115+ mCtx := ottlmetric .NewTransformContextPtr (metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
115116 multiError = errors .Join (multiError , metricsCounter .update (ctx , pcommon .NewMap (), scopeAttrs , resourceAttrs , mCtx ))
117+ mCtx .Close ()
116118
117119 //exhaustive:enforce
118120 switch metric .Type () {
@@ -121,40 +123,45 @@ func (c *count) ConsumeMetrics(ctx context.Context, md pmetric.Metrics) error {
121123 for i := 0 ; i < dps .Len (); i ++ {
122124 dp := dps .At (i )
123125 dataPointsCounter .updateTimestamp (dp .Timestamp ())
124- dCtx := ottldatapoint .NewTransformContext (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
126+ dCtx := ottldatapoint .NewTransformContextPtr (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
125127 multiError = errors .Join (multiError , dataPointsCounter .update (ctx , dp .Attributes (), scopeAttrs , resourceAttrs , dCtx ))
128+ dCtx .Close ()
126129 }
127130 case pmetric .MetricTypeSum :
128131 dps := metric .Sum ().DataPoints ()
129132 for i := 0 ; i < dps .Len (); i ++ {
130133 dp := dps .At (i )
131134 dataPointsCounter .updateTimestamp (dp .Timestamp ())
132- dCtx := ottldatapoint .NewTransformContext (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
135+ dCtx := ottldatapoint .NewTransformContextPtr (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
133136 multiError = errors .Join (multiError , dataPointsCounter .update (ctx , dp .Attributes (), scopeAttrs , resourceAttrs , dCtx ))
137+ dCtx .Close ()
134138 }
135139 case pmetric .MetricTypeSummary :
136140 dps := metric .Summary ().DataPoints ()
137141 for i := 0 ; i < dps .Len (); i ++ {
138142 dp := dps .At (i )
139143 dataPointsCounter .updateTimestamp (dp .Timestamp ())
140- dCtx := ottldatapoint .NewTransformContext (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
144+ dCtx := ottldatapoint .NewTransformContextPtr (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
141145 multiError = errors .Join (multiError , dataPointsCounter .update (ctx , dp .Attributes (), scopeAttrs , resourceAttrs , dCtx ))
146+ dCtx .Close ()
142147 }
143148 case pmetric .MetricTypeHistogram :
144149 dps := metric .Histogram ().DataPoints ()
145150 for i := 0 ; i < dps .Len (); i ++ {
146151 dp := dps .At (i )
147152 dataPointsCounter .updateTimestamp (dp .Timestamp ())
148- dCtx := ottldatapoint .NewTransformContext (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
153+ dCtx := ottldatapoint .NewTransformContextPtr (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
149154 multiError = errors .Join (multiError , dataPointsCounter .update (ctx , dp .Attributes (), scopeAttrs , resourceAttrs , dCtx ))
155+ dCtx .Close ()
150156 }
151157 case pmetric .MetricTypeExponentialHistogram :
152158 dps := metric .ExponentialHistogram ().DataPoints ()
153159 for i := 0 ; i < dps .Len (); i ++ {
154160 dp := dps .At (i )
155161 dataPointsCounter .updateTimestamp (dp .Timestamp ())
156- dCtx := ottldatapoint .NewTransformContext (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
162+ dCtx := ottldatapoint .NewTransformContextPtr (dp , metric , scopeMetrics .Metrics (), scopeMetrics .Scope (), resourceMetric .Resource (), scopeMetrics , resourceMetric )
157163 multiError = errors .Join (multiError , dataPointsCounter .update (ctx , dp .Attributes (), scopeAttrs , resourceAttrs , dCtx ))
164+ dCtx .Close ()
158165 }
159166 case pmetric .MetricTypeEmpty :
160167 multiError = errors .Join (multiError , fmt .Errorf ("metric %q: invalid metric type: %v" , metric .Name (), metric .Type ()))
@@ -189,7 +196,7 @@ func (c *count) ConsumeLogs(ctx context.Context, ld plog.Logs) error {
189196 for i := 0 ; i < ld .ResourceLogs ().Len (); i ++ {
190197 resourceLog := ld .ResourceLogs ().At (i )
191198 resourceAttrs := resourceLog .Resource ().Attributes ()
192- counter := newCounter [ottllog.TransformContext ](c .logsMetricDefs )
199+ counter := newCounter [* ottllog.TransformContext ](c .logsMetricDefs )
193200
194201 for j := 0 ; j < resourceLog .ScopeLogs ().Len (); j ++ {
195202 scopeLogs := resourceLog .ScopeLogs ().At (j )
@@ -198,8 +205,9 @@ func (c *count) ConsumeLogs(ctx context.Context, ld plog.Logs) error {
198205 for k := 0 ; k < scopeLogs .LogRecords ().Len (); k ++ {
199206 logRecord := scopeLogs .LogRecords ().At (k )
200207 counter .updateTimestamp (logRecord .Timestamp ())
201- lCtx := ottllog .NewTransformContext (logRecord , scopeLogs .Scope (), resourceLog .Resource (), scopeLogs , resourceLog )
208+ lCtx := ottllog .NewTransformContextPtr (logRecord , scopeLogs .Scope (), resourceLog .Resource (), scopeLogs , resourceLog )
202209 multiError = errors .Join (multiError , counter .update (ctx , logRecord .Attributes (), scopeAttrs , resourceAttrs , lCtx ))
210+ lCtx .Close ()
203211 }
204212 }
205213
0 commit comments