open-telemetry/otel-arrow-collector

Development moved to https://github.com/open-telemetry/otel-arrow

jmacd opened this issue · 4 comments

jmacd commented

This repository will continue to hold the complete version history of the collector and its OTLP Exporter/Receiver with Arrow changes included. Development done in https://github.com/f5/otel-arrow-adapter will be copied back into this repository.

Do not develop here, use https://github.com/f5/otel-arrow-adapter.

@jmacd will arrange scripts to copy changes back to this repository in-between pulling changes from the mainline.

jmacd commented

The current process is:

  1. In Makefile.copyFromAdapter
SOURCE_DIR := ../otel-arrow-adapter/collector/gen

GO_FILES := $(shell cd $(SOURCE_DIR) && find . -name '*.go')

# Function to execute a command. Note the empty line before endef to make sure each command
# gets executed separately instead of concatenated with previous one.
# Accepts command to execute as first parameter.
define exec-command
$(1)

endef

.PHONY: subgen generate all

all:
	echo "Run 'make gen'"

generate:
	$(MAKE) -f Makefile.copyFromAdapter subgen

# If this fails because a new directory does not exist, make it by hand and repeat.
subgen:
	$(foreach file, $(GO_FILES),$(call exec-command,cp $(SOURCE_DIR)/$(file) $(file)))
	$(foreach file, $(GO_FILES),$(call exec-command,sed -i '' -f patch.sed $(file)))
  1. In patch.sed:
s+github.com/f5/otel-arrow-adapter/collector/gen/exporter/otlpexporter+go.opentelemetry.io/collector/exporter/otlpexporter+g
s+github.com/f5/otel-arrow-adapter/collector/gen/receiver/otlpreceiver+go.opentelemetry.io/collector/receiver/otlpreceiver+g
s+github.com/f5/otel-arrow-adapter/collector/gen/internal+go.opentelemetry.io/collector/internal+g
jmacd commented

Note the code introduced in f5/otel-arrow-adapter#185 and f5/otel-arrow-adapter#184 will require attention during the next branch-synchronization. @moh-osman3

jmacd commented

I will update the Arrow Collector components in three steps.

  1. #56 copies changes from this repo since the last time this process was done back into that repository.
  2. Next, I will pull mainline updates from https://github.com/open-telemetry/opentelemetry-collector in a second PR to that repo,
  3. Finally, I will copy the components back to this repository.

We expect this to be the last time this exact process is followed. Next time, we will perform the first two steps and then (3) copy components into new PRs in OTel-Collector-Contrib, (4) remove the copied components from this repo.

jmacd commented

Updating to v0.83.0 here: #61