๐Ÿ” CILens - A Rust CLI for CI/CD Pipeline Analytics

โš“ Rust    ๐Ÿ“… 2026-01-07    ๐Ÿ‘ค surdeus    ๐Ÿ‘๏ธ 2      

surdeus

Hey Rustaceans! :waving_hand:

I built CILens, a CLI tool for analyzing GitLab CI/CD pipelines, written in Rust!

output

I've been using it at my company and it's given me really interesting insights into our CI/CD pipelinesโ€”particularly useful for DevOps, platform, and infra engineers who need to optimize build times and identify reliability issues.

What it does:

  • :electric_plug: Fetches pipeline & job data from GitLab's GraphQL API
  • :puzzle_piece: Groups pipelines by job signature (smart clustering)
  • :bar_chart: Shows P50/P95/P99 duration percentiles instead of misleading averages
  • :warning: Detects flaky jobs (intermittent failures)
  • :stopwatch: Calculates time-to-feedback per job (actual dev wait times)
  • :page_facing_up: Outputs human-readable summaries or JSON for programmatic use

The Rust bits I'm proud of:

  • :rocket: Async/await with Tokio - 500 concurrent requests with backpressure
  • :floppy_disk: Intelligent caching (~90% cache hit rate on reruns)
  • :shield: Type-safe GraphQL client (graphql_client)
  • :high_voltage: Zero-copy deserialization with serde
  • :test_tube: 181 unit tests, zero clippy warnings (pedantic mode)
  • :package: Cross-platform builds (cargo-dist)

Currently supports GitLab only, but the architecture is designed to support integrations with other CI/CD providers (GitHub Actions, Jenkins, CircleCI, etc.).

Feedback welcome! Especially interested in hearing from folks who've built similar analysis tools or worked with large-scale API fetching. :crab:

1 post - 1 participant

Read full topic

๐Ÿท๏ธ Rust_feed