otel-desktop-viewer
otel-desktop-viewer is a CLI tool for receiving OpenTelemetry traces while working on your local machine.
파일 탐색기
최종 버전 다운로드 (.zip)- bug_report.yml
- feature_request.yml
- build-and-test.yml
- release.yml
- test-go-install.yml
- dependabot.yml
- config.go
- config_test.go
- extension.go
- factory.go
- lulu.webp
- log-severity.ts
- LogCard.svelte
- LogCard.test.ts
- LogDetailView.svelte
- LogDetailView.test.ts
- LogField.svelte
- AllSeriesAggregateToggle.svelte
- ChartAggregateSummaryRows.svelte
- ChartOverlayToggles.svelte
- ChartSelectionLegend.svelte
- ChartStatOverlaysToggle.svelte
- ChartTimeRangeHeader.svelte
- HistogramChart.svelte
- HistogramChartControlBar.svelte
- HistogramHeatmap.svelte
- HistogramHeatmapControlBar.svelte
- HistogramQuantileControlBar.svelte
- MetricChartControlBar.svelte
- MetricChartEmpty.svelte
- MetricChartPlot.svelte
- MetricChartView.svelte
- MetricQuantileAreaChart.svelte
- MetricSparkbars.svelte
- MetricSparkline.svelte
- MetricTimeSeriesChart.svelte
- Sparkline.svelte
- TimeseriesLegend.svelte
- MetricDetailView.svelte
- MetricField.svelte
- SeriesDatapointList.svelte
- SeriesDatapointList.test.ts
- TimeseriesPanel.svelte
- UnspecifiedTemporalityCallout.svelte
- aggregation-view-tabs.ts
- aggregation.test.ts
- aggregation.ts
- chart-projection.ts
- chart-time-axis.ts
- dedupe-attributes.test.ts
- dedupe-attributes.ts
- format-metric-value.ts
- heatmap-color-scale.test.ts
- heatmap-color-scale.ts
- heatmap-column-end.test.ts
- heatmap-column-selection.ts
- heatmap-layout.test.ts
- heatmap-layout.ts
- heatmap-legend.ts
- histogram-aggregation.test.ts
- histogram-aggregation.ts
- histogram-quantile.ts
- histogram-view-tabs.ts
- metric-timeseries-colors.ts
- metric-timeseries-visible.repair.test.ts
- metric-timeseries-visible.ts
- metric-type.ts
- quantile-point-selection.test.ts
- quantile-point-selection.ts
- MetricCard.svelte
- MetricCard.test.ts
- DrawerNavTabs.svelte
- DrawerNavTabs.test.ts
- DrawerSearchPanel.svelte
- DrawerSearchPanel.test.ts
- SignalDrawerFooter.svelte
- SignalDrawerFooter.test.ts
- SignalListDrawer.svelte
- SignalListDrawer.test.ts
- completions.ts
- keymap.test.ts
- keymap.ts
- linter.ts
- query-language.ts
- query.grammar
- query.parser.terms.ts
- query.parser.ts
- theme.ts
- value-completions.test.ts
- value-completions.ts
- queryParser.test.ts
- queryParser.ts
- queryTree.ts
- search-editor-api.ts
- SearchEditor.svelte
- CustomTimeRange.svelte
- CustomTimeRange.test.ts
- DateTimeFilter.svelte
- DateTimeFilter.test.ts
- FieldFilter.svelte
- FieldFilter.test.ts
- filter-types.ts
- PresetTimeRanges.svelte
- PresetTimeRanges.test.ts
- RecentTimeRanges.svelte
- RecentTimeRanges.test.ts
- TimeRangeFilterBody.svelte
- TimeRangeFilterBody.test.ts
- anchor-popover.ts
- column-resize.ts
- debounced-detail-fetcher.svelte.ts
- editor-colors.ts
- list-update-seq.ts
- table-keyboard-nav.ts
- DetailNav.svelte
- ExpandableValue.svelte
- ExpandableValue.test.ts
- FieldErrorMessage.svelte
- FieldGroup.svelte
- PageLayout.svelte
- PaneHeader.svelte
- PaneTimestampHeader.svelte
- ReadonlyCodePanel.svelte
- ResizablePanels.svelte
- SignalBadges.svelte
- SignalCard.svelte
- SignalCard.test.ts
- SignalFooter.svelte
- ThemeToggle.svelte
- ThemeToggle.test.ts
- EventsPanel.svelte
- EventsPanel.test.ts
- LinksPanel.svelte
- LinksPanel.test.ts
- SpanField.svelte
- TraceDetailView.svelte
- TraceDetailView.test.ts
- waterfall-collapse-store.ts
- waterfall-reveal.test.ts
- waterfall-reveal.ts
- waterfall-tree.test.ts
- waterfall-tree.ts
- WaterfallEventDots.svelte
- WaterfallEventDots.test.ts
- WaterfallRow.svelte
- WaterfallTimeAxisHeader.svelte
- WaterfallTreeGutter.svelte
- WaterfallView.svelte
- WaterfallView.test.ts
- TraceCard.svelte
- TraceCard.test.ts
- fields.ts
- operators.ts
- metric-view-context.svelte.ts
- metric-view-context.test.ts
- panel-split-resize-context.svelte.ts
- route-context.svelte.ts
- route-context.test.ts
- signal-list-page.integration.test.ts
- signal-list-page.svelte.ts
- signal-list-page.test.ts
- time-context.svelte.ts
- time-context.test.ts
- ArrowDownIcon.svelte
- ArrowLeftDoubleIcon.svelte
- ArrowLeftIcon.svelte
- ArrowRightDoubleIcon.svelte
- ArrowRightIcon.svelte
- ArrowUpIcon.svelte
- BarChartHorizontalIcon.svelte
- CancelIcon.svelte
- ChartHistogramIcon.svelte
- CheckmarkCircleIcon.svelte
- CopyIcon.svelte
- CustomizeIcon.svelte
- DateTimeIcon.svelte
- FallingStarIcon.svelte
- FilterIcon.svelte
- GlobalIcon.svelte
- HelpCircleIcon.svelte
- HomeIcon.svelte
- index.ts
- LeftToRightListBullet.svelte
- LinkIcon.svelte
- LogIcon.svelte
- MoonIcon.svelte
- Reload.svelte
- SortingIcon.svelte
- StopWatch.svelte
- SunIcon.svelte
- TrashIcon.svelte
- HomePage.svelte
- LogsPage.svelte
- MetricsPage.svelte
- TracesPage.svelte
- index.ts
- metric-view-query.test.ts
- metric-view-query.ts
- navigate-to-item.test.ts
- query-params.ts
- router.test.ts
- router.ts
- span-query.test.ts
- span-query.ts
- telemetry-service.test.ts
- telemetry-service.ts
- theme.svelte.ts
- ContextHarness.svelte
- ExpandableValueHarness.svelte
- MetricViewProbe.svelte
- mock-virtual-list.ts
- MockVirtualList.svelte
- render-helpers.ts
- RouteProbe.svelte
- SeriesDatapointListHarness.svelte
- setup.ts
- SignalListPageProbe.svelte
- TimeProbe.svelte
- api-types.ts
- metric-chart-types.ts
- wire-types.ts
- bigint.test.ts
- bigint.ts
- chart-palette.test.ts
- chart-palette.ts
- compare.test.ts
- compare.ts
- resource.test.ts
- resource.ts
- series-labels.test.ts
- series-labels.ts
- time.test.ts
- time.ts
- tooltip-warmth.test.ts
- tooltip-warmth.ts
- app.css
- App.svelte
- fonts.css
- main.ts
- vite-env.d.ts
- .gitignore
- .prettierrc
- index.html
- package-lock.json
- package.json
- postcss.config.js
- svelte.config.js
- tailwind.config.js
- tsconfig.json
- tsconfig.node.json
- vite.config.ts
- status.go
- Arc-BHejkrgu.js
- Arc.canvas-ChSYcAUx.js
- atkinson-hyperlegible-mono-latin-400-normal-Cmjm2dBj.woff
- atkinson-hyperlegible-mono-latin-400-normal-CmMGer93.woff2
- atkinson-hyperlegible-mono-latin-500-normal-BV5ipwqM.woff
- atkinson-hyperlegible-mono-latin-500-normal-CfDLaOZW.woff2
- atkinson-hyperlegible-mono-latin-600-normal-BiYyYOKJ.woff2
- atkinson-hyperlegible-mono-latin-600-normal-CuPF9o0F.woff
- atkinson-hyperlegible-next-latin-400-italic-C-uEjDrs.woff
- atkinson-hyperlegible-next-latin-400-italic-DZBmTazM.woff2
- atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff
- atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2
- atkinson-hyperlegible-next-latin-500-normal-B0CYqHl3.woff
- atkinson-hyperlegible-next-latin-500-normal-gHP6TDRs.woff2
- atkinson-hyperlegible-next-latin-600-normal-BBuhw47K.woff2
- atkinson-hyperlegible-next-latin-600-normal-BhgCag5w.woff
- atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff
- atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2
- attributes-B29eWZOR.js
- band-Dmq1x8wC.js
- Bar-Eid095wU.js
- brush.svelte-C-YT0YOP.js
- BrushContext-DfLVcAKK.js
- BrushContext-y4QHsPdk.css
- centroid-yCfI4PCa.js
- chart-BtzR4W3h.js
- ChartAnnotations-Bw8CGteN.css
- ChartAnnotations-CjiC7E9r.js
- common-Bx7RCDLH.js
- DefaultTooltip-D7CvZwqX.js
- dom-BID1NNRh.js
- index-UMR4WWwh.js
- index-Yli4qml7.css
- key.svelte-CwOKFekm.js
- Labels-B7w2DDON.js
- Labels-sEaJtb97.css
- linear-DYcmnnfk.js
- lineRadial-sgcwgYM4.js
- Link.canvas-B8cjZGiv.js
- lulu-CN2lTKzS.webp
- math-RobXhXPM.js
- max-Db0q5_zr.js
- min-CCch3uox.js
- motion-lh7QC7QT.js
- motion.svelte-Dynb769o.js
- path-BHJZJhvy.js
- Path-CwI5-Fjs.css
- path-Y5urAfNy.js
- Path.canvas-69TX34Xu.js
- Points-DFdfQV0W.js
- Points.html-aK6CTKz0.js
- Rect-CtRaGMmQ.css
- Rect.html-DotfT6k3.js
- rect.svelte-DuZD6e9Z.js
- scales.svelte-CXb1dNSx.js
- src-Bl052uUt.js
- TransformContext-CImm17dX.css
- TransformContext-DV_LSj2-.js
- transition-C58PZtCD.js
- types-Dfvzj6n2.js
- Voronoi-4QtqMHKr.js
- Voronoi-ce7atosu.css
- .gitkeep
- index.html
- errors.go
- errors_test.go
- jsonrpc_handler.go
- jsonrpc_handler_test.go
- server.go
- server_test.go
- attributes.go
- attributes_test.go
- appender.go
- appender_test.go
- attribute_memo.go
- attribute_memo_bench_test.go
- attribute_memo_test.go
- dictionary.go
- dictionary_test.go
- flushed.go
- idprobe.go
- sweep.go
- export_test.go
- logs.go
- logs_test.go
- export_test.go
- metrics.go
- metrics_test.go
- sdk_cumulative_test.go
- _order
- idx_datapoints_series.sql
- idx_datapoints_stream_time.sql
- idx_events_span.sql
- idx_exemplars_datapoint.sql
- idx_exemplars_trace.sql
- idx_links_span.sql
- idx_links_trace.sql
- idx_logs_resource.sql
- idx_logs_scope.sql
- idx_logs_service.sql
- idx_logs_severitynumber.sql
- idx_logs_traceid.sql
- idx_metric_ingests_resource.sql
- idx_metric_ingests_stream.sql
- idx_metric_series_stream.sql
- idx_metric_streams_name.sql
- idx_metric_streams_service.sql
- idx_spans_parentspanid.sql
- idx_spans_resource.sql
- idx_spans_scope.sql
- idx_spans_service.sql
- idx_spans_traceid.sql
- _order
- aggregate_bucket_json.sql
- attr_frame.sql
- attr_id.sql
- attr_value.sql
- attribute_def_json.sql
- attrs_json.sql
- attrs_key.sql
- attrs_mapped.sql
- body_preview.sql
- bucket_extents.sql
- bucket_quantile_linear.sql
- bucket_quantile_loglin.sql
- bucket_start_utc.sql
- bucket_width_ns.sql
- datapoint_json.sql
- diff_bucket_vectors.sql
- downscale_exp_buckets.sql
- event_json.sql
- exemplar_json.sql
- exp_buckets.sql
- exp_hist_quantile.sql
- exp_hist_quantiles.sql
- exp_neg_buckets.sql
- exp_pos_buckets.sql
- exp_zero_bucket.sql
- exp_zero_cutoff.sql
- floor_div.sql
- fold_below_cutoff.sql
- has_attr.sql
- hist_buckets.sql
- hist_quantile.sql
- hist_quantiles.sql
- interp_linear.sql
- interp_loglin.sql
- link_json.sql
- pad_left_to_offset.sql
- resource_json.sql
- scope_json.sql
- series_stats_json.sql
- span_data_json.sql
- span_id_wire.sql
- sum_bucket_vectors.sql
- timeseries_json.sql
- trace_id_wire.sql
- tz_offset_ns_at.sql
- uuid_list.sql
- zero_fold.sql
- _order
- attributes.sql
- datapoints.sql
- events.sql
- exemplars.sql
- histogram_bounds.sql
- links.sql
- logs.sql
- metric_ingests.sql
- metric_series.sql
- metric_streams.sql
- resource_seq.sql
- resources.sql
- scope_seq.sql
- scopes.sql
- spans.sql
- _order
- attr_type.sql
- get_log.sql
- get_log_attributes.sql
- search_logs.sql
- get_metric.sql
- get_metric_attributes.sql
- search_summaries.sql
- search_spans.sql
- search_traces.sql
- cumulative_merge_test.go
- ddl_exec_test.go
- ddl_order.go
- duckdb_json_test.go
- parse_test.go
- queries.go
- schema_test.go
- uuid_list_test.go
- version.go
- search_tree.go
- search_tree_test.go
- search_spans_no_search.sql
- search_spans_with_search.sql
- search_traces_no_search.sql
- search_traces_with_search.sql
- export_test.go
- ingest_bench_test.go
- ingest_dedupe_test.go
- search_params.go
- spans.go
- spans_test.go
- sql_golden_test.go
- sql_injection_test.go
- stats.go
- stats_test.go
- util.go
- util_test.go
- uuid_binding_canary_test.go
- concurrency_test.go
- dictionary_integrity_test.go
- retention.go
- retention_test.go
- search_probe_test.go
- store.go
- store_test.go
- version.go
- version_test.go
- telemetry.go
- telemetry_test.go
- config.go
- config_test.go
- exporter.go
- factory.go
- factory_test.go
- queue_test.go
- sharing_test.go
- logs.png
- metrics.png
- otel-cli-example.png
- traces.png
- lulu.png
- metric-resolution.md
- goreleaser.1.gz
- Logs.pm
- Metrics.pm
- OTLP.pm
- ScreamingSnake.pm
- Shapes.pm
- Traces.pm
- seed.pl
- .dockerignore
- .editorconfig
- .gitattributes
- .gitignore
- .goreleaser.yaml
- =
- ARCHITECTURE.md
- CODE_OF_CONDUCT.md
- components.go
- CONTRIBUTING.md
- Dockerfile
- Dockerfile.release
- go.mod
- go.sum
- LICENSE
- main.go
- main_others.go
- main_test.go
- main_windows.go
- Makefile
- package-lock.json
- README.md
# 설치 가이드
git clone https://github.com/CtrlSpice/otel-desktop-viewer
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd otel-desktop-viewer
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천brew tap ctrlspice/otel-desktop-viewer
Homebrew에 이 프로젝트의 저장소(tap)를 등록합니다.
brew install --cask otel-desktop-viewer
Homebrew로 이미 빌드된 패키지를 바로 설치합니다. 소스 빌드가 필요 없습니다.
sudo apt install otel-desktop-viewer
APT 패키지 저장소에서 바로 설치합니다 (Debian/Ubuntu 계열).
go install github.com/CtrlSpice/otel-desktop-viewer@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker pull ghcr.io/ctrlspice/otel-desktop-viewer:latest
이 명령어를 터미널에 그대로 입력해 실행하세요.
docker run -p 8000:8000 -p 4317:4317 -p 4318:4318 ghcr.io/ctrlspice/otel-desktop-viewer:latest
빌드된 이미지를 실제 컨테이너로 실행합니다.
docker pull ghcr.io/ctrlspice/otel-desktop-viewer:v0.3.0
이 명령어를 터미널에 그대로 입력해 실행하세요.
docker pull ghcr.io/ctrlspice/otel-desktop-viewer:latest-amd64
이 명령어를 터미널에 그대로 입력해 실행하세요.
docker pull ghcr.io/ctrlspice/otel-desktop-viewer:latest-arm64
이 명령어를 터미널에 그대로 입력해 실행하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
4. Node.js
쉬움cd desktopexporter/internal/frontend
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
5. Go
보통go install github.com/CtrlSpice/otel-desktop-viewer@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
6. Make
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
