Примеры
Go
go get go.actaflow.tech/sdk@latest
package main
import (
"log"
"go.actaflow.tech/sdk"
)
func main() {
shutdown, err := sdk.Init(sdk.Config{
APIKey: "af_live_...",
ServiceName: "payments-api",
ServiceVersion: "1.4.2",
Environment: "production",
Endpoint: "actaflow-collector.observability:4317",
SampleRate: 0.1,
})
if err != nil {
log.Fatal(err)
}
defer shutdown()
// Дальше — стандартный код. HTTP-хендлеры, БД-запросы,
// gRPC-клиенты автоматически инструментированы.
}
Python
pip install actaflow-sdk
from actaflow import init, instrument
init(
api_key="af_live_...",
service_name="payments-api",
service_version="1.4.2",
environment="production",
endpoint="http://actaflow-collector.observability:4318",
sample_rate=0.1,
)
# Авто-инструментирование Flask
from flask import Flask
app = instrument(Flask(__name__))
@app.route("/charge")
def charge():
# Span создаётся автоматически, trace_id доступен в request.headers
return {"status": "ok"}
Rust
cargo add actaflow-sdk
use actaflow_sdk::{init, Config};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let _guard = init(Config {
api_key: "af_live_...".into(),
service_name: "payments-api".into(),
service_version: "1.4.2".into(),
environment: "production".into(),
endpoint: "http://actaflow-collector.observability:4318".into(),
sample_rate: 0.1,
}).await?;
// axum/tonic инструменты автоматически
Ok(())
}