forked from odigos-io/odigos
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge from beta-ui to main #5
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
…-io#1611) At the moment, dotnet and java native agent both use the device id in the `service.name` resource attribute, and this is replaced by the real service name and additional k8s attributes in the node processor later on. eBPF instrumentations and OpAMP based agents injects the resource attribute directly and do not need the processor. By default, the processor is enabled, but users that do not use the java native or dotnet may wish to disable it, and reduce load from the cluster. This PR adds a profile to do that. This profile is temporary until we migrate dotnet and java to eBPF
…finitely (odigos-io#1616) 1. add event filter for reconciler of collector group - to prevent endless reconcile loops 2. remove unused property from collector group CRD 3. pin version of java base image in tests for deterministic test result
Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
…ting in config (odigos-io#1618) Since node collector runs as a DaemonSet with host network (so that otlp ports 4317 and 4318 are accessible from the pods exporters), it also shares the ports namespace with the node. The ports it binds to might conflict with ports of other tools installed in the cluster that does similar things, and in this case data collection will fail to start with error: "listen tcp 0.0.0.0:8888: bind: address already in use". The collectors currently expose and scrape their own metrics on port `8888` which is good candidate for collistions. This PR: - makes the default port for own telemetry endpoint for node collector `55682` to have low chance of collision with something that already runs on the node (instead of using `8888` as default). - Adds an option to odigos config to set the port, in case one needs it hard-coded to a specific value to manage the public ports on the node). The port to use is written on the collectors group CRD by the scheduler to abstract away the default and odigos config resolving, and allow the resolved value to be more easer to consume. For the cluster collector, the collector runs as deployment with k8s service, thus we can safely use `8888` without colliding with anything else
This PR adds some handling for when the pipeline has not yet been created, making sure the `odigos describe` output is well formmated. It also adds a human readable text to describe the expected state for cluster and node collectors 
…te package (odigos-io#1623) This is just improving the structure of the code, to prepare it for follow-up refactors while having small - reviewable PRs
…1626) Removing the default SDKs from odigos config. The updated way of changing instrumentation SDK is with rules and profiles. This change includes: * Remove the setting of the SDKs by the CLI. * Add to instrumentor: checking the tier and setting the default SDKs map once. * Add role to instrumentor to `get` secrets in odigos ns. * Remove odigosconfig role for instrumentor. * Adjust `envtest` for env overwriter - instead of reading writing to mock of `odigosconfig` - mock the default SDK for the new code and simulate a changing SDK by mocking instrumentation rule.
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
…o tools (odigos-io#1633) Until this PR, everytime we calculated the `odigos describe` output, we transformed it to text, which makes it less useful to be used in odigos ui and other tools, as the data is human readable and not machine readable. This PR separates the 2 tasks. Now one can simply get the results of the `odigos describe` command and now immediately if something is still in transit or has errors. Tools can process this data to display it nicely or act upon it. This function offers an handy aggregation for the relevant data in the context of odigos entities.
odigos-io#1636) … and started --------- Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
Once all the apps are un-instrumented we remove the node CG. This causes repeated reconcile errors in the OpAmp server: > {"level":"error","ts":1730064874.9696624,"caller":"controller/controller.go:316","msg":"Reconciler error","controller":"collectorsgroup","controllerGroup":"odigos.io","controllerKind":"CollectorsGroup","CollectorsGroup":{"name":"odigos-data-collection","namespace":"odigos-system"},"namespace":"odigos-system","name":"odigos-data-collection","reconcileID":"59801121-08a6-495c-b6af-38c8d02c6cf7","error":"CollectorsGroup.odigos.io \"odigos-data-collection\" not found","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.0/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.0/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.0/pkg/internal/controller/controller.go:224"}
this PR makes it so that `odigos describe source` uses 2 phases: analyze and print. This allows the UI and tools to fetch the describe result and use it, without converting it to human text
…digos-io#1654) Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
This PR fixes a bug in odigos-io#1649 where a pointer would be accessed without first checking if it's nil
odigos-io#1663) …me up Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
…LI (odigos-io#1667) Cleanup in CLI: * Remove the direct dependency in `controller-runtime`. This was done by avoiding using the `Object` type in that package and using our own. This resulted in removing the direct dependency but we still have indirect dependency which comes from our `api` package: more specifically we use "sigs.k8s.io/controller-runtime/pkg/scheme" for scheme builder in our `api` package. * Remove unused files from `CLI` and `k8sutils`.
…#1666) Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
Instead of passing an empty object and the object kind, pass only the object kind. Use `workload.ClientObjectFromWorkloadKind(objKind)` within the function.
Co-authored-by: Ben Elferink <ben.elferink@icloud.com> Co-authored-by: Tamir David <tamir@odigos.io> Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local> Co-authored-by: Amir Blum <amirgiraffe@gmail.com> Co-authored-by: Ron Federman <73110295+RonFed@users.noreply.github.com> Co-authored-by: yodigos <yoav@odigos.io> Co-authored-by: Mike Dame <mike@odigos.io> Co-authored-by: alonbraymok <alonbraymok007@gmail.com>
Co-authored-by: Alon Braymok <138359965+alonkeyval@users.noreply.github.com>
Co-authored-by: Ben Elferink <ben.elferink@icloud.com> Co-authored-by: Tamir David <tamir@odigos.io> Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local> Co-authored-by: Amir Blum <amirgiraffe@gmail.com> Co-authored-by: Ron Federman <73110295+RonFed@users.noreply.github.com> Co-authored-by: yodigos <yoav@odigos.io> Co-authored-by: Mike Dame <mike@odigos.io> Co-authored-by: alonbraymok <alonbraymok007@gmail.com>
BenElferink
pushed a commit
that referenced
this pull request
Feb 4, 2025
[GEN-2317]: support containers from instru. config spec
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.