-
Notifications
You must be signed in to change notification settings - Fork 208
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GEN-1932]: add HyperDX destination support and documentation (#2084)
This pull request includes several changes to add support for HyperDX as a new destination in the Odigos distributed tracing solution. Additionally, there are some minor formatting changes in the documentation files. ### HyperDX Integration: * Added a new configuration file for HyperDX in `common/config/hyperdx.go` to define the destination type and modify configuration settings. * Updated the list of available configers in `common/config/root.go` to include HyperDX. * Added a new destination type `HyperDxDestinationType` in `common/dests.go`. * Created a new YAML configuration file for HyperDX in `destinations/data/hyperdx.yaml`. ### Documentation Updates: * Added a new backend overview entry for HyperDX in `docs/backends-overview.mdx`. * Created a new documentation page for configuring HyperDX in `docs/backends/hyperdx.mdx`. * Included HyperDX in the quickstart next steps guide in `docs/quickstart/next-steps.mdx`. ### Minor Formatting Changes: * Fixed formatting issues in `README.md` to ensure consistent bullet points. * Adjusted table formatting in `README.md` for managed and self-hosted destinations. [[1]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L88-R89) [[2]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L116-R117) * Simplified JSON structure in `docs/mint.json` by removing unnecessary line breaks. [[1]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL73-R73) [[2]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL102-R114) [[3]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL153-R134) [[4]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL192-R170) [[5]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debR199) [[6]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL251-R223) [[7]](diffhunk://#diff-c91a604899dfef4b2494c317f4fd39a7f22b79986095f580399347293d534debL285-R258)
- Loading branch information
1 parent
5dd320f
commit 119b5e0
Showing
10 changed files
with
144 additions
and
1 deletion.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package config | ||
|
||
import ( | ||
"github.com/odigos-io/odigos/common" | ||
) | ||
|
||
type HyperDX struct{} | ||
|
||
func (j *HyperDX) DestType() common.DestinationType { | ||
return common.HyperDxDestinationType | ||
} | ||
|
||
func (j *HyperDX) ModifyConfig(dest ExporterConfigurer, cfg *Config) error { | ||
uniqueUri := "hdx-" + dest.GetID() | ||
|
||
exporterName := "otlp/" + uniqueUri | ||
exporterConfig := GenericMap{ | ||
"endpoint": "in-otel.hyperdx.io:4317", | ||
"headers": GenericMap{ | ||
"authorization": "${HYPERDX_API_KEY}", | ||
}, | ||
} | ||
|
||
cfg.Exporters[exporterName] = exporterConfig | ||
|
||
if isTracingEnabled(dest) { | ||
pipeName := "traces/" + uniqueUri | ||
cfg.Service.Pipelines[pipeName] = Pipeline{ | ||
Exporters: []string{exporterName}, | ||
} | ||
} | ||
|
||
if isMetricsEnabled(dest) { | ||
pipeName := "metrics/" + uniqueUri | ||
cfg.Service.Pipelines[pipeName] = Pipeline{ | ||
Exporters: []string{exporterName}, | ||
} | ||
} | ||
|
||
if isLoggingEnabled(dest) { | ||
pipeName := "logs/" + uniqueUri | ||
cfg.Service.Pipelines[pipeName] = Pipeline{ | ||
Exporters: []string{exporterName}, | ||
} | ||
} | ||
|
||
return nil | ||
} |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
apiVersion: internal.odigos.io/v1beta1 | ||
kind: Destination | ||
metadata: | ||
type: hyperdx | ||
displayName: HyperDX | ||
category: managed | ||
spec: | ||
image: hyperdx.svg | ||
signals: | ||
traces: | ||
supported: true | ||
metrics: | ||
supported: true | ||
logs: | ||
supported: true | ||
fields: | ||
- name: HYPERDX_API_KEY | ||
displayName: HyperDX API Key | ||
componentType: input | ||
secret: true | ||
componentProps: | ||
type: password | ||
required: true |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: 'HyperDX' | ||
--- | ||
|
||
## Configuring Backend | ||
|
||
- **HYPERDX_API_KEY** - HyperDX API Key. | ||
|
||
**Note:** | ||
We handle the endpoint internally, so you don't need to provide it. | ||
- The endpoint is `in-otel.hyperdx.io:4317`. | ||
|
||
## Adding a Destination to Odigos | ||
|
||
Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos: | ||
|
||
1. **Using the UI** | ||
|
||
Use the [Odigos CLI](https://docs.odigos.io/cli/odigos_ui) to access the UI: | ||
|
||
```bash | ||
odigos ui | ||
``` | ||
|
||
2. **Using kubernetes manifests** | ||
|
||
Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`: | ||
|
||
```bash | ||
kubectl apply -f destination.yaml | ||
``` | ||
|
||
|
||
```yaml | ||
apiVersion: odigos.io/v1alpha1 | ||
kind: Destination | ||
metadata: | ||
name: hyperdx-example | ||
namespace: odigos-system | ||
spec: | ||
data: {} | ||
destinationName: hyperdx | ||
secretRef: | ||
name: hyperdx-secret | ||
signals: | ||
- TRACES | ||
- METRICS | ||
- LOGS | ||
type: hyperdx | ||
|
||
--- | ||
apiVersion: v1 | ||
data: | ||
HYPERDX_API_KEY: <base64 HyperDX API Key> | ||
kind: Secret | ||
metadata: | ||
name: hyperdx-secret | ||
namespace: odigos-system | ||
type: Opaque | ||
``` |
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
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