IronTelemetry SDK for Go
Go to file
David Friedel 3853a739cc Update README with branded header and documentation links
- Add centered logo and title with product branding
- Add links to product website and documentation
- Add badges for package manager and license
- Add Other SDKs table with cross-references
- Add Support section with dev@ironservices.io email
- Update repository links to git.marketally.com

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 10:40:21 +00:00
.gitignore Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
LICENSE Initial commit 2025-12-25 04:55:46 -05:00
README.md Update README with branded header and documentation links 2025-12-27 10:40:21 +00:00
breadcrumbs.go Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
client.go Add LogMessage, GetBreadcrumbs, and EnableDebugLogging features 2025-12-26 11:32:01 +00:00
config.go Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
go.mod Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
journey.go Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
transport.go Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00
types.go Implement IronTelemetry Go SDK 2025-12-25 10:17:52 +00:00

README.md

IronTelemetry

IronTelemetry SDK for Go

Error monitoring and crash reporting for Go applications

Go Reference License: MIT

WebsiteDocumentationGo GuideGit


IronTelemetry helps you capture exceptions, track user journeys, and get actionable insights to fix issues faster. Built for developers who want simple, powerful error monitoring without the complexity.

Features

  • Panic Recovery - Automatically capture panics with full stack traces
  • Error Capture - Report errors with context and metadata
  • Journey Tracking - Understand what users did before an error occurred
  • Breadcrumbs - Add context with custom breadcrumbs
  • Context Support - Full context.Context support for cancellation
  • Thread-Safe - All operations are safe for concurrent use
  • Zero Dependencies - Minimal external dependencies

Installation

go get git.marketally.com/ironservices/irontelemetry-go

Quick Start

Initialize the SDK

package main

import (
    "log"
    irontelemetry "git.marketally.com/ironservices/irontelemetry-go"
)

func main() {
    client, err := irontelemetry.New(irontelemetry.Options{
        DSN: "https://pk_live_xxx@irontelemetry.com",
    })
    if err != nil {
        log.Fatal(err)
    }
    defer client.Close()
}

Capture Errors

if err := doSomething(); err != nil {
    client.CaptureException(err)
}

Track User Journeys

journey := client.StartJourney("Checkout Flow")
journey.SetUser("user-123", "user@example.com", "John Doe")

err := journey.RunStep("Validate Cart", irontelemetry.CategoryBusiness, func() error {
    return validateCart()
})
if err != nil {
    journey.Fail(err)
    client.CaptureException(err)
    return
}

journey.Complete()

Add Breadcrumbs

client.AddBreadcrumb("User clicked checkout button", irontelemetry.CategoryUI)
client.AddBreadcrumb("Payment API called", irontelemetry.CategoryHTTP)

HTTP Middleware

http.Handle("/", irontelemetry.HTTPHandler(client, myHandler))

Configuration

client, err := irontelemetry.New(irontelemetry.Options{
    DSN:         "https://pk_live_xxx@irontelemetry.com",
    Environment: "production",
    AppVersion:  "1.2.3",
    SampleRate:  1.0,
    BeforeSend: func(event *irontelemetry.TelemetryEvent) *irontelemetry.TelemetryEvent {
        return event
    },
})

Documentation

For complete documentation, visit irontelemetry.com/docs.

Other SDKs

Platform Package
JavaScript/TypeScript @ironservices/telemetry
.NET IronTelemetry.Client
Python irontelemetry
Java irontelemetry-java
Rust irontelemetry

Support

License

MIT License - see LICENSE for details.