{"adoption": {"forks": 246, "observed_at": "2026-08-28T04:03:36.040145+00:00", "stars": 1103}, "canonical_url": "https://ross.abutalabs.com/products/gohangout", "card": {"archived": false, "artifact_type": "application", "description": "使用 golang 模仿的 Logstash。用于消费 Kafka 数据，处理后写入 ES、Clickhouse 等。", "domain": ["big-data", "analytics", "developer-tools"], "enriched": true, "function": ["streaming", "etl", "message-queue", "search-engine", "logging", "monitoring"], "health_score": 79, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["childe/gohangout"], "name": "childe/gohangout", "platform": ["windows", "go", "cross-platform"], "pushed_at": "2026-03-16T05:32:30+00:00", "repo": "childe/gohangout", "stars": 1103, "tags": ["logstash-alternative", "kafka-consumer", "log-processing", "clickhouse", "elasticsearch-output", "config-driven", "plugin-system", "data-engineering", "logging", "linux", "macos", "docker"], "topics": ["kafka", "elasticsearch", "logstash", "golang"], "urls": [], "use_cases": ["consume kafka logs and index them into elasticsearch", "replace logstash with a lower-memory log pipeline", "ship logs from kafka to clickhouse", "parse and transform log events with grok-like filters", "build a high-throughput log ingestion pipeline", "monitor pipeline throughput with prometheus metrics"], "what_it_is": "Gohangout is a Logstash-like data processing tool written in Go that consumes events (commonly from Kafka), applies configurable filters, and writes them to sinks like Elasticsearch and ClickHouse. It uses YAML configuration, supports plugins, multi-worker concurrency, Prometheus metrics, and hot config reload.", "when_to_avoid": ["you need the full breadth of Logstash's built-in plugins and ecosystem", "your pipeline is small and Logstash or Vector already suffices", "you need sources or sinks not covered by built-in or third-party plugins"], "when_to_choose": ["you need Logstash-style input/filter/output pipelines but with much lower memory usage", "you process very high event volumes from Kafka into Elasticsearch or ClickHouse", "you want a single static Go binary with YAML configuration and hot reload"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gohangout", "repo": "childe/gohangout", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.040145+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:45:31.683481+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f55c166b53363da5ab1bb70901e1c84071e52d7868f18188759add8f11c9f6e3", "fetched_at": "2026-08-28T04:03:36.040145+00:00", "kind": "readme", "missing": false, "url": "https://github.com/childe/gohangout"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 72, "longevity": 100, "rhythm": 62}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3142, "days_push": 170, "days_rel": 258, "gap_med": 23.5, "n_releases_24m": 13}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}