diff --git a/src/Famix-OpenTelemetry-Importer/OTelSTONFileExtractor.class.st b/src/Famix-OpenTelemetry-Importer/OTelSTONFileExtractor.class.st new file mode 100644 index 0000000..618c612 --- /dev/null +++ b/src/Famix-OpenTelemetry-Importer/OTelSTONFileExtractor.class.st @@ -0,0 +1,26 @@ +Class { + #name : #OTelSTONFileExtractor, + #superclass : #OTelAbstractExtractor, + #instVars : [ + 'filename' + ], + #category : #'Famix-OpenTelemetry-Importer' +} + +{ #category : #extraction } +OTelSTONFileExtractor >> extract [ + + ^ (STONReader on: filename asFileReference readStream) next +] + +{ #category : #accessing } +OTelSTONFileExtractor >> filename [ + + ^ filename +] + +{ #category : #accessing } +OTelSTONFileExtractor >> filename: anObject [ + + filename := anObject +] diff --git a/src/Famix-OpenTelemetry-Importer/OTelSTONFileLoader.class.st b/src/Famix-OpenTelemetry-Importer/OTelSTONFileLoader.class.st new file mode 100644 index 0000000..e4e4384 --- /dev/null +++ b/src/Famix-OpenTelemetry-Importer/OTelSTONFileLoader.class.st @@ -0,0 +1,25 @@ +Class { + #name : #OTelSTONFileLoader, + #superclass : #OTelAbstractLoader, + #category : #'Famix-OpenTelemetry-Importer' +} + +{ #category : #loading } +OTelSTONFileLoader >> load: rawTraces [ + + rawTraces do: [ :rawSpan | + | span | + span := self loadSpan: rawSpan ]. + ^ self model +] + +{ #category : #'private - loading' } +OTelSTONFileLoader >> loadSpan: anOTSpan [ + + ^ self model newSpan + id: anOTSpan spanId; + name: anOTSpan name; + tags: anOTSpan attributes; + timestamp: anOTSpan startTime; + duration: anOTSpan endTime - anOTSpan startTime +]