# trace

Published articles for trace.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Examining the artifacts job of a Playwright GitLab CI / CD pipeline

DevFeed: [Examining the artifacts job of a Playwright GitLab CI / CD pipeline](<https://devfeed.tech/articles/examining-the-artifacts-job-of-a-playwright-gitlab-ci-cd-pipeline-22416.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/examining-artifacts-job-of-playwright.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-29T23:19:22Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [test](<https://devfeed.tech/tags/test.md>), [trace](<https://devfeed.tech/tags/trace.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

This tutorial examines how a Playwright GitLab CI/CD pipeline stores and exposes test artifacts. It explains the playwright-report, test-results, and reports/junit folders and describes generated HTML and JUnit reports, screenshots, videos, and trace reports.

### Source excerpt

You may have noticed that in the GitLab CI / CD Pipeline for our Playwright project, in the .gitlab-ci.yml file, after our scripts has run, in the Test stage, there is a subsection called "artifacts" with certain paths to something called "playwright-report", "test-results", and "reports". The Playwright -> Artifacts -> Reports stage playwright: extends: .bun_playwright stage: test timeout: 30 minutes ... ... artifacts: when: always paths: - playwright-report/ - test-results/ - reports/ reports: junit: reports/junit/results.xml expire_in: 30 days https://gitlab.com/tjmaher/bun-create-playwright/-/blob/main/.gitlab-ci.yml Every time Playwright tests run, it generates proof of the test execution: screenshots capturing the state of the UI when a test failed, video recordings of an entire browser session, HTML and JUnit XML test reports, trace reports showing action logs, network requests. These artifacts, when the tests run locally, are placed by the Playwright Test runner in generated folders, playwright-report and test-results, along with a folder called reports/junit. With this post, we will be examining how this artifacts stage of the GitLab CI/ CD pipeline produces downloadable artifacts we can examine. Playwright-Report: A Playwright Test folderThe Playwright Test runner creates a folder called "playwright-report", if it doesn't already exist, and an HTML file called index.html documenting the completed test run. From Playwright.dev / Test Reporters: "Playwright Test comes with a few built-in reporters for different needs and ability to provide custom reporters. [...] All built-in reporters show detailed information about failures, and mostly differ in verbosity for successful runs. [...] HTML reporter produces a self-contained folder that contains report for the test run that can be served as a web page". The HTML Report is the one that automatically opens after you run your tests locally, or if you are using the node package manager: npx playwright show-report

## Sentry Unreal Engine SDK Adds Session Replay to Crash Reports

DevFeed: [Sentry Unreal Engine SDK Adds Session Replay to Crash Reports](<https://devfeed.tech/articles/session-replay-for-unreal-engine-see-the-crash-before-the-crash-24111.md>)

Original publisher: [Read original article](<https://blog.sentry.io/session-replay-unreal-engine/>)

Author: Ivan Tustanivskyi

Published: 2026-07-24T09:00:00Z

Content type: release

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [session replay](<https://devfeed.tech/topics/session-replay.md>), [Unreal Engine](<https://devfeed.tech/topics/unreal-engine.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [tracing](<https://devfeed.tech/topics/tracing.md>)

Tags: [crash](<https://devfeed.tech/tags/crash.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sentry](<https://devfeed.tech/tags/sentry.md>), [session-replay](<https://devfeed.tech/tags/session-replay.md>), [trace](<https://devfeed.tech/tags/trace.md>), [unreal](<https://devfeed.tech/tags/unreal.md>)

### AI overview

Sentry's Unreal Engine SDK adds Session Replay, recording the last several seconds of gameplay and attaching the footage to crash reports. Developers can review rendered frames alongside context, breadcrumbs, logs, and traces to investigate what led to a crash.

### Source excerpt

The Sentry Unreal Engine SDK now records the last seconds of gameplay and attaches the footage to crash reports, so you can watch what led to the crash.

## What an AI Agent Failure Revealed About Model Tradeoffs, Evals, and Traces

DevFeed: [What an AI Agent Failure Revealed About Model Tradeoffs, Evals, and Traces](<https://devfeed.tech/articles/reading-the-agent-traces-is-how-you-make-the-call-your-eval-can-t-24113.md>)

Original publisher: [Read original article](<https://blog.sentry.io/spot-checking-ai-agents/>)

Author: Sergiy Dybskiy

Published: 2026-07-01T09:00:00Z

Content type: article

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [Traces](<https://devfeed.tech/topics/traces.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>), [gateway](<https://devfeed.tech/topics/gateway.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [eval](<https://devfeed.tech/tags/eval.md>), [evals](<https://devfeed.tech/tags/evals.md>), [model](<https://devfeed.tech/tags/model.md>), [tool](<https://devfeed.tech/tags/tool.md>), [tools](<https://devfeed.tech/tags/tools.md>), [trace](<https://devfeed.tech/tags/trace.md>), [traces](<https://devfeed.tech/tags/traces.md>)

### AI overview

An experiment with an AI-powered conference schedule builder showed that an agent could invent speakers, falsely claim to have retrieved them from an API, and appear grounded because a tool had run. The article discusses model tradeoffs, evaluation limitations, and the value of inspecting agent traces.

### Source excerpt

I gave the free tier a cheaper model and it invented conference speakers who don't exist. What that taught me about model tradeoffs, evals, and reading agent traces.

## strace-ui, Bonsai\_term, and the TUI renaissance

DevFeed: [strace-ui, Bonsai\_term, and the TUI renaissance](<https://devfeed.tech/articles/strace-ui-bonsai-term-and-the-tui-renaissance-20213.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/strace-ui-bonsai-term-and-the-tui-renaissance/>)

Author: James Somers

Published: 2026-05-26T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [Text-based user interface](<https://devfeed.tech/topics/tui.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [debug](<https://devfeed.tech/topics/debug.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Bonsai](<https://devfeed.tech/topics/bonsai-rx.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [framework](<https://devfeed.tech/tags/framework.md>), [functional](<https://devfeed.tech/tags/functional.md>), [library](<https://devfeed.tech/tags/library.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [threads](<https://devfeed.tech/tags/threads.md>), [trace](<https://devfeed.tech/tags/trace.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article introduces strace-ui, an interactive terminal UI that makes strace output easier to inspect by formatting data, assigning short identifiers to processes and threads, and supporting interactive filtering and navigation. It also discusses how OCaml and the Bonsai framework have made interactive terminal UI development more practical.

### Source excerpt

We've always found strace useful but somewhat hard to work with. Its output is often inscrutable, it's hard to follow subprocesses or threads, and if you want to filter syscalls you have to rerun the trace with a flag for each one. What you want in debugging is a tool for exploring, refining, etc., but strace can make this difficult.

## Kubelet Metrics: How cAdvisor and CRI Collect Kubernetes Stats

DevFeed: [Kubelet Metrics: How cAdvisor and CRI Collect Kubernetes Stats](<https://devfeed.tech/articles/kubelet-metrics-how-cadvisor-and-cri-collect-kubernetes-stats-19138.md>)

Original publisher: [Read original article](<https://learnkube.com/kubernetes-metrics-cadvisor-kubelet-cri>)

Author: Gulcan Topcu

Published: 2026-05-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Learnk8s](<https://devfeed.tech/sources/learnk8s.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [container](<https://devfeed.tech/topics/container.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-server](<https://devfeed.tech/tags/api-server.md>), [cgroups](<https://devfeed.tech/tags/cgroups.md>), [collect](<https://devfeed.tech/tags/collect.md>), [container](<https://devfeed.tech/tags/container.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data](<https://devfeed.tech/tags/data.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [linux](<https://devfeed.tech/tags/linux.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [trace](<https://devfeed.tech/tags/trace.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

This tutorial explains how Kubernetes collects and exposes container, pod, and node metrics through kubelet, cAdvisor, the Linux kernel, and the Container Runtime Interface (CRI). It describes the shift toward CRI-native metrics over gRPC and how Prometheus, Grafana, and other observability systems consume the data.

### Source excerpt

Learn how kubelet collects Kubernetes metrics from cgroups, cAdvisor, containerd and CRI, and when pod and container stats move to the runtime.

## OpenTelemetry glossary: 30 terms you should know

DevFeed: [OpenTelemetry glossary: 30 terms you should know](<https://devfeed.tech/articles/opentelemetry-glossary-30-terms-you-should-know-38034.md>)

Original publisher: [Read original article](<https://nurkiewicz.com/2026/04/open-telemetry-glossary.html>)

Published: 2026-04-14T22:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Nurkiewicz around Java and concurrency](<https://devfeed.tech/sources/tomasz-nurkiewicz-around-java-and-concurrency.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>)

Tags: [distributed-tracing](<https://devfeed.tech/tags/distributed-tracing.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [observability](<https://devfeed.tech/tags/observability.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [trace](<https://devfeed.tech/tags/trace.md>), [traces](<https://devfeed.tech/tags/traces.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

A developer-oriented glossary explains core OpenTelemetry and observability concepts, including observability, traces, spans, context propagation, metrics, and logs. It describes how traces follow requests across distributed systems, how spans represent individual operations, and how context propagation connects work across service boundaries.

### Source excerpt

A glossary of OpenTelemetry and observability terms, from traces and spans to Grafana and Datadog. Opinionated definitions for developers who don't have time for dry documentation.

## Encore, MCP, and AI agents

DevFeed: [Encore, MCP, and AI agents](<https://devfeed.tech/articles/encore-mcp-and-ai-agents-17821.md>)

Original publisher: [Read original article](<https://encore.dev/blog/mcp-deep-dive>)

Author: Ivan Cernja

Published: 2026-03-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Traces](<https://devfeed.tech/topics/traces.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [database](<https://devfeed.tech/tags/database.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

The article explains how Encore's MCP server gives AI coding tools structured access to a running application's schemas, service graph, traces, pub/sub topology, cache configuration, infrastructure, documentation, and testing information. It describes how this context can help agents understand existing backend structure and reduce guesswork when implementing or verifying changes.

### Source excerpt

How to give your agent full context over your running application.

## Anatomy of a trace

DevFeed: [Anatomy of a trace](<https://devfeed.tech/articles/anatomy-of-a-trace-17774.md>)

Original publisher: [Read original article](<https://encore.dev/blog/anatomy-of-a-trace>)

Author: Ivan Cernja

Published: 2026-03-02T00:00:00Z

Content type: article

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [tracing](<https://devfeed.tech/topics/tracing.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [API](<https://devfeed.tech/topics/api.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [cache](<https://devfeed.tech/tags/cache.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [http](<https://devfeed.tech/tags/http.md>), [request](<https://devfeed.tech/tags/request.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [sql](<https://devfeed.tech/tags/sql.md>), [trace](<https://devfeed.tech/tags/trace.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

This article explains how distributed traces are built as requests move through services and operations. It describes root and child spans, trace IDs, automatic context propagation, and the operation-specific data captured by Encore's runtime, including API calls, RPCs, database queries, cache writes, and outbound HTTP calls.

### Source excerpt

What actually happens when a request hits your application, and what a distributed trace captures at every step.

## Understanding multiple routes from same ASN

DevFeed: [Understanding multiple routes from same ASN](<https://devfeed.tech/articles/understanding-multiple-routes-from-same-asn-39769.md>)

Original publisher: [Read original article](<https://anuragbhatia.com/post/2025/12/understanding-multiple-routes-from-same-asn/>)

Published: 2025-12-01T18:54:58Z

Content type: article

Language: en

Sources: [Personal blog of Anurag Bhatia](<https://devfeed.tech/sources/personal-blog-of-anurag-bhatia.md>)

Topics: [networking](<https://devfeed.tech/topics/networking.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Networks](<https://devfeed.tech/topics/networks.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [as174](<https://devfeed.tech/tags/as174.md>), [as3257](<https://devfeed.tech/tags/as3257.md>), [as3356](<https://devfeed.tech/tags/as3356.md>), [as6453](<https://devfeed.tech/tags/as6453.md>), [as9498](<https://devfeed.tech/tags/as9498.md>), [bgp](<https://devfeed.tech/tags/bgp.md>), [cisco](<https://devfeed.tech/tags/cisco.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [router](<https://devfeed.tech/tags/router.md>), [routing](<https://devfeed.tech/tags/routing.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article explains why the same autonomous system can select different routes to the same prefix. Using examples involving AS3257 and AS3356, it shows that different routers and observation points may choose different best paths according to BGP's route-selection process.

### Source excerpt

A while back bgp.he.net added the feature of a live route propagation graph for a given prefix. Besides being near real-time, it is also specific to a prefix, e.g let's look up for 2401:4900:87f0::/44 (Airtel mobility - 5G prefix): https://bgp.he.net/net/2401:4900:87f0::/44#_graph What sometimes confuses people is why there are multiple paths from a given ASN towards the originator ASN. Many people assume multiple paths exist for different prefixes only, and that is not true. Take e.g in the above route propagation graph AS3356 has a direct route to AS9498 as well as via AS2914, AS6939, AS6453, etc. And this kind of multiple paths is not limited just to AS3356 (which is run by three companies as of now - Lumen in North America, Colt in the EU and Cirion in South America). Notice GTT AS3257 is also learning it via Cogent AS174 as well as Tata Comm AS6453. Which is actually "best path" as determined by the BGP? Quick short answer: Both! Why does this happen? This kind of routing often happens when the other side is a large network with multiple routers doing eBGP with multiple other larger networks & not anywhere in the upstream path. Let's take the GTT AS3257 example first before coming to AS3356 case (as AS3356 has something more to it as well, which I will cover after this one). Let's query 2401:4900:87f0::/44 on Hurricane Electric's super-lg and restrict output with AS3257 in the path - output here Path 2 shows GTT AS3257 learning it from Cogent AS174 but path 4 shows it's learning it from Tata Comm AS6453. Both of these are "best paths" as determined by BGP in the respective routers that feed the routes. Path 2 via Cogent is being fed into route-views.chicago while path 4 is being fed into RIPE RIS RRC12 (DE-CIX, Frankfurt). Let's look at the GTT looking glass and trace to this route in the Chicago and Frankfurt router: GTT Chicago > 2401:4900:87f0::1 IPv6 traceroute to 2401:4900:87f0::1 HOST: cr1-chi1-re1 Loss% Snt Last Avg Best Wrst StDev 1. 2001:668:0:2:ffff:0

## Trace similarity systems on top of ClickHouse to analyze crash stack traces from our CI

DevFeed: [Trace similarity systems on top of ClickHouse to analyze crash stack traces from our CI](<https://devfeed.tech/articles/trace-similarity-systems-on-top-of-clickhouse-to-analyze-crash-stack-traces-from-our-ci-5607.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/trace-similarity-stack-traces>)

Author: Misha Shiryaev

Published: 2025-09-24T12:46:35Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [issue tracker](<https://devfeed.tech/topics/issue-tracker.md>), [Fuzzing/Fuzz testing](<https://devfeed.tech/topics/fuzzing.md>), [FIRST](<https://devfeed.tech/topics/first.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [crash-reporting](<https://devfeed.tech/tags/crash-reporting.md>), [fuzzing](<https://devfeed.tech/tags/fuzzing.md>), [github](<https://devfeed.tech/tags/github.md>), [issue-tracker](<https://devfeed.tech/tags/issue-tracker.md>), [logs](<https://devfeed.tech/tags/logs.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article explains how to build a trace similarity system on top of ClickHouse to analyze crash stack traces from CI. It describes collecting crash reports, extracting stack frames, grouping similar traces, and creating or updating GitHub issues so teams can distinguish new bugs from known ones.

### Source excerpt

Learn how our engineering team cut through noisy CI crash reports with a trace similarity system built on ClickHouse.

## Track Database Branching with Turso Cloud

DevFeed: [Track Database Branching with Turso Cloud](<https://devfeed.tech/articles/track-database-branching-with-turso-cloud-6051.md>)

Original publisher: [Read original article](<https://turso.tech/blog/track-database-branching-with-turso-cloud>)

Author: Jamie Barton

Published: 2025-04-16T00:00:00Z

Content type: article

Language: en

Sources: [Turso Blog](<https://devfeed.tech/sources/turso-blog.md>)

Topics: [Turso](<https://devfeed.tech/topics/turso.md>), [Platform API](<https://devfeed.tech/topics/platform-api.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [API](<https://devfeed.tech/topics/api.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [database](<https://devfeed.tech/tags/database.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [platform](<https://devfeed.tech/tags/platform.md>), [platform-api](<https://devfeed.tech/tags/platform-api.md>), [trace](<https://devfeed.tech/tags/trace.md>), [turso](<https://devfeed.tech/tags/turso.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Turso Cloud now supports tracking database branches through the Dashboard, CLI, and Platform API. The feature shows branch lineage, links branches to their parent databases, and supports workflows such as experiments, parallel development, collaboration, and preview environments.

### Source excerpt

Turso Cloud now tracks database branches in the dashboard, CLI, and Platform API, giving you clear lineage and parent links for every branched database.

## Investigating a Ruby Memory Leak in the HEY App

DevFeed: [Investigating a Ruby Memory Leak in the HEY App](<https://devfeed.tech/articles/my-adventures-hunting-down-a-ruby-memory-leak-33495.md>)

Original publisher: [Read original article](<https://dev.37signals.com/adventures-hunting-down-ruby-memory-leak/>)

Author: Jacopo Beschi

Published: 2024-03-07T18:00:00Z

Content type: tutorial

Language: en

Sources: [37signals Dev](<https://devfeed.tech/sources/37signals-dev.md>)

Topics: [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [App](<https://devfeed.tech/topics/app.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [gc](<https://devfeed.tech/tags/gc.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article describes how a team investigated a slow Ruby memory leak in the HEY app. It covers analyzing Ruby heap allocation statistics, extracting heap dumps with rbtrace, enabling object allocation tracing, and comparing dumps over time while limiting the diagnostic impact to one app host.

### Source excerpt

What I learned on the journey chasing a tricky memory leak in HEY.

## Vapor: Queue Management

DevFeed: [Vapor: Queue Management](<https://devfeed.tech/articles/vapor-queue-management-3968.md>)

Original publisher: [Read original article](<https://laravel.com/blog/vapor-queue-management>)

Author: Joe Dixon

Published: 2023-04-04T13:34:00Z

Content type: release

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Vapor](<https://devfeed.tech/topics/swift-vapor.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [cli](<https://devfeed.tech/tags/cli.md>), [commands](<https://devfeed.tech/tags/commands.md>), [debug](<https://devfeed.tech/tags/debug.md>), [feature](<https://devfeed.tech/tags/feature.md>), [job](<https://devfeed.tech/tags/job.md>), [management](<https://devfeed.tech/tags/management.md>), [payload](<https://devfeed.tech/tags/payload.md>), [performance](<https://devfeed.tech/tags/performance.md>), [queue](<https://devfeed.tech/tags/queue.md>), [retry](<https://devfeed.tech/tags/retry.md>), [trace](<https://devfeed.tech/tags/trace.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

Laravel Vapor adds queue management to its dashboard, including queue performance metrics, filtering by queue and time period, failed-job search, payload and stack-trace inspection, and actions to retry or delete failed jobs.

### Source excerpt

Today, we're excited to announce that we're bringing queue management to the Vapor dashboard!

## Detect small memory leaks

DevFeed: [Detect small memory leaks](<https://devfeed.tech/articles/detect-small-memory-leaks-26140.md>)

Original publisher: [Read original article](<https://vadzimv.dev/2022/10/10/detect-small-memory-leaks.html>)

Author: Vadzimv Dev Blog

Published: 2022-10-10T08:20:00Z

Content type: tutorial

Language: en

Sources: [vadzimv Dev Blog](<https://devfeed.tech/sources/vadzimv-dev-blog.md>)

Topics: [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Android](<https://devfeed.tech/topics/android.md>), [App](<https://devfeed.tech/topics/app.md>), [SDK](<https://devfeed.tech/topics/sdk.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [android](<https://devfeed.tech/tags/android.md>), [applications](<https://devfeed.tech/tags/applications.md>), [batch](<https://devfeed.tech/tags/batch.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This tutorial explains how to detect small, long-term memory leaks in Android applications by recording memory traces, reviewing process RSS in Perfetto, and using queries and batch processing to analyze multiple traces.

### Source excerpt

Detect small memory leaks in Android applications.

## Investigating Slow Android CI Heap Analysis on API 23 Emulators

DevFeed: [Investigating Slow Android CI Heap Analysis on API 23 Emulators](<https://devfeed.tech/articles/of-sharks-and-heaps-of-sticky-marshmallows-25627.md>)

Original publisher: [Read original article](<https://blog.p-y.wtf/of-sharks-and-heaps-of-sticky-marshmallows>)

Author: Pierre-Yves Ricau

Published: 2022-04-07T19:57:56Z

Content type: article

Language: en

Sources: [Py's blog](<https://devfeed.tech/sources/py-s-blog.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [ci](<https://devfeed.tech/tags/ci.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [leakcanary](<https://devfeed.tech/tags/leakcanary.md>), [memory](<https://devfeed.tech/tags/memory.md>), [perfetto](<https://devfeed.tech/tags/perfetto.md>), [performance](<https://devfeed.tech/tags/performance.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This deep-dive investigates why Android CI heap analysis occasionally took several minutes on API 23 emulators. The author reproduces the issue locally, uses tracing and heap dumps, and examines unexpectedly numerous sticky-class GC roots in Shark, LeakCanary's heap dump parser.

### Source excerpt

👋 Hi, this is P.Y., I work as an Android Engineer at Block, the rockey company formerly known as Square. I spend a lot of time focusing on performance and try to share my experience with deep-dive bl

## Diagnosing Android ANRs with Runtime Traces and APM Data

DevFeed: [Diagnosing Android ANRs with Runtime Traces and APM Data](<https://devfeed.tech/articles/demystifying-the-anrs-puzzle-28528.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/demystifying-the-anrs-puzzle/>)

Author: Amanjeet Singh Gurtatta

Published: 2022-01-21T17:52:38Z

Content type: tutorial

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Application Performance Management (APM)](<https://devfeed.tech/topics/apm.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [Crashlytics](<https://devfeed.tech/topics/crashlytics.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-vitals](<https://devfeed.tech/tags/android-vitals.md>), [anr](<https://devfeed.tech/tags/anr.md>), [apm](<https://devfeed.tech/tags/apm.md>), [crashlytics](<https://devfeed.tech/tags/crashlytics.md>), [debug](<https://devfeed.tech/tags/debug.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [mobile-performance](<https://devfeed.tech/tags/mobile-performance.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article explains why Android Application Not Responding events are difficult to reproduce and diagnose. It describes how the Android runtime responds with SIGQUIT and ANR traces, then introduces approaches APM libraries can use to collect ANR data, including watchdog monitoring.

### Source excerpt

Solving the ANRs Riddle on Android

## Magic-trace: Diagnosing tricky performance issues easily with Intel Processor Trace

DevFeed: [Magic-trace: Diagnosing tricky performance issues easily with Intel Processor Trace](<https://devfeed.tech/articles/magic-trace-diagnosing-tricky-performance-issues-easily-with-intel-processor-trace-20193.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/magic-trace/>)

Author: Tristan Hume

Published: 2022-01-11T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [tracing](<https://devfeed.tech/topics/tracing.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [flow](<https://devfeed.tech/tags/flow.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [intel](<https://devfeed.tech/tags/intel.md>), [latency](<https://devfeed.tech/tags/latency.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [performance](<https://devfeed.tech/tags/performance.md>), [processor](<https://devfeed.tech/tags/processor.md>), [trace](<https://devfeed.tech/tags/trace.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

Jane Street describes magic-trace, an open-source tool built on Intel Processor Trace. It captures roughly 10 milliseconds of execution leading up to a selected function call and visualizes the call stack on a timeline, helping diagnose fine-grained performance and latency issues that sampling profilers may miss.

### Source excerpt

Intel Processor Trace is a hardware technology that can record all program execution flow along with timing information accurate to around 30ns. As far as I can tell almost nobody uses it, seemingly because capturing the data is tricky and, without any visualization tools, you're forced to read enormous text dumps.

## Setting Trace Flags and Configuring SQL Server in Kubernetes

DevFeed: [Setting Trace Flags and Configuring SQL Server in Kubernetes](<https://devfeed.tech/articles/setting-trace-flags-and-configuring-sql-server-in-kubernetes-17535.md>)

Original publisher: [Read original article](<https://www.nocentino.com/posts/2021-09-12-configuring-sql-server-in-kubernetes/>)

Author: Anthony Nocentino

Published: 2021-09-12T12:24:45Z

Content type: tutorial

Language: en

Sources: [Kubernetes on Anthony Nocentino's Blog](<https://devfeed.tech/sources/kubernetes-on-anthony-nocentino-s-blog.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [sql-server](<https://devfeed.tech/topics/sql-server.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [containers](<https://devfeed.tech/tags/containers.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [running](<https://devfeed.tech/tags/running.md>), [sql-server](<https://devfeed.tech/tags/sql-server.md>), [sqlserver](<https://devfeed.tech/tags/sqlserver.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

A tutorial showing how to configure SQL Server in Kubernetes. It demonstrates overriding a container command to set a Database Engine Service Startup Option and using a ConfigMap to inject an mssql.conf configuration file.

### Source excerpt

In this blog post, we will walk through a few examples of configuring SQL Server in Kubernetes. First, we will create a Deployment for SQL Server, override the container's command, and specify a Database Engine Service Startup Option. Second, we will create a Deployment for SQL Server using a ConfigMap to inject an mssql.conf configuration file. Creating a SQL Server Deployment and Overriding the Container's Command and Arguments First up, let's create a Deployment for SQL Server and override the container's command specify a Database Engine Service Startup Option.

## Setting Trace Flags and Configuring SQL Server Containers

DevFeed: [Setting Trace Flags and Configuring SQL Server Containers](<https://devfeed.tech/articles/setting-trace-flags-and-configuring-sql-server-containers-17534.md>)

Original publisher: [Read original article](<https://www.nocentino.com/posts/2021-09-12-configuring-sql-server-in-containers/>)

Author: Anthony Nocentino

Published: 2021-09-12T11:24:45Z

Content type: tutorial

Language: en

Sources: [Kubernetes on Anthony Nocentino's Blog](<https://devfeed.tech/sources/kubernetes-on-anthony-nocentino-s-blog.md>)

Topics: [sql-server](<https://devfeed.tech/topics/sql-server.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [examples](<https://devfeed.tech/tags/examples.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sql-server](<https://devfeed.tech/tags/sql-server.md>), [trace](<https://devfeed.tech/tags/trace.md>), [volume](<https://devfeed.tech/tags/volume.md>)

### AI overview

A tutorial on configuring SQL Server in Docker containers. It demonstrates setting trace flags through container startup parameters and configuring SQL Server with an injected mssql.conf file, while explaining how configuration and data persistence relate to the container lifecycle.

### Source excerpt

In this blog post, we will walk through a few examples of how to configure SQL Server in Docker Containers. First, we will configure a container at runtime by overriding the default docker command for the container and setting Database Engine Service Startup Options. Second, we're going to inject a configuration file into our container to configure SQL Server. Let's go! Starting a Container with a Trace Flag First up, let's configure a container at runtime using Database Engine Service Startup Options. In Docker you can override the command of a container at the command line so we can start up a container with the correct executable and parameters. I'm configuring a trace flag by setting the correct parameters for the sqlservr executable. So when this container starts up it will start the sqlservr executable with the -T 3226 parameter. Let's check out the code for this...

## Debugging in Production - How to move fast without breaking things

DevFeed: [Debugging in Production - How to move fast without breaking things](<https://devfeed.tech/articles/debugging-in-production-how-to-move-fast-without-breaking-things-19281.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/debugging-in-production-how-to-move-fast-without-breaking-things/>)

Author: Shai Almog

Published: 2021-08-11T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Server](<https://devfeed.tech/topics/server.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [debug](<https://devfeed.tech/tags/debug.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [production](<https://devfeed.tech/tags/production.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [snapshots](<https://devfeed.tech/tags/snapshots.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

The article explains how Codename One handles bugs that appear only in production, where local reproduction and slow deployment cycles make fixes risky. It describes Lightrun's production debugging approach, including snapshots, stack traces, variable state, injected logs, execution counts, and lightweight profiling.

### Source excerpt

Learn how we debug our backend servers and provide fast updates without breaking deployments.

## Introducing OpenTelemetry for Apollo Federation

DevFeed: [Introducing OpenTelemetry for Apollo Federation](<https://devfeed.tech/articles/introducing-open-telemetry-for-apollo-federation-23418.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/introducing-open-telemetry-for-apollo-federation>)

Author: Lenny Burdette

Published: 2021-08-03T15:01:42Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [apollo-server](<https://devfeed.tech/topics/apollo-server.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [gateway](<https://devfeed.tech/topics/gateway.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [server](<https://devfeed.tech/tags/server.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article explains OpenTelemetry basics and describes native OpenTelemetry support in Apollo Gateway for tracing federated GraphQL requests across clients, gateway and subgraph services. It also discusses how Apollo Studio and OpenTelemetry work together to provide visibility into graph performance and reliability.

### Source excerpt

How do you debug or optimize a request as it travels through all the layers of your stack: from the client, through the Apollo Gateway, through your subgraph services, all the way to your databases? First, you need visibility into what your code is doing during that request, regardless of how that work is distributed across machines. Fortunately, this is easier than ever with a Cloud-Native Computing Foundation project called OpenTelemetry!

## Android Vitals - Profiling App Startup 🔬

DevFeed: [Android Vitals - Profiling App Startup 🔬](<https://devfeed.tech/articles/android-vitals-profiling-app-startup-25857.md>)

Original publisher: [Read original article](<https://dev.to/pyricau/android-vitals-profiling-app-startup-32ek>)

Author: Py ⚔

Published: 2020-11-23T23:03:19Z

Content type: tutorial

Language: en

Sources: [Py ⚔](<https://devfeed.tech/sources/py.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profile](<https://devfeed.tech/tags/profile.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [software](<https://devfeed.tech/tags/software.md>), [trace](<https://devfeed.tech/tags/trace.md>), [traces](<https://devfeed.tech/tags/traces.md>)

### AI overview

This tutorial explains how to profile Android app startup with Android Studio. It compares profiler recording configurations, recommends Sample Java Methods for startup profiling, shows how to start recording when the app launches, and discusses why release builds are preferable to debug builds when investigating customer-facing performance issues.

### Source excerpt

Header image: The In-Between by Romain Guy. My previous articles focused on measuring Android app start in production. Once we've established a metric and scenarios that trigger a slow app start, the next step is to improve performance. To understand what makes the app start slow, we need to profile it. Android Studio provides several types of profiler recording configurations: Trace System Calls (aka systrace, perfetto): Low impact on runtime, great for understanding how the app interacts with the system and CPUs, but not the Java method calls that happen inside the app VM. Sample C/C++ Functions (aka Simpleperf): Not interesting to me, the apps I deal with run much more bytecode than native code. On Q+ this is supposed to now also sample Java stacks in a low overhead way, but I haven't managed to get that working. Trace Java Methods: This captures all VM method calls which introduces so much overhead that the results don't mean much. Sample Java Methods: Less overhead than tracing but shows the Java method calls that happen inside the VM. This is my preferred option when profiling app startup. Start recording on app startup The Android Studio profiler has UI to start a trace by connecting to an already running process, but no obvious way to start recording on app startup. The option exist but is hidden away in the run configuration for your app: check Start this recording on startup in the profiling tab. Then deploy the app via Run > Profile app. Profiling release builds Android developers typically use a debug build type for their everyday work, and debug builds often include a debug drawer, extra libraries such as LeakCanary, etc. Developers should profile release builds rather than debug builds to make sure they're fixing the actual issues that their customers are facing. Unfortunately, release builds are non debuggable so the Android profiler can't record traces on release builds. Here are a few options to work around that issue. 1. Create a debuggable release

## Use RAILS\_ENV=production in development mode to catch Rails syntax errors

DevFeed: [Use RAILS\_ENV=production in development mode to catch Rails syntax errors](<https://devfeed.tech/articles/a-drop-dead-stupid-rails-testing-trick-28267.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rails/2020/03/19/a-drop-dead-stupid-rails-testing-trick.html>)

Author: Fuzzygroup

Published: 2020-03-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Development](<https://devfeed.tech/topics/development.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [development](<https://devfeed.tech/tags/development.md>), [production](<https://devfeed.tech/tags/production.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [run](<https://devfeed.tech/tags/run.md>), [rvm](<https://devfeed.tech/tags/rvm.md>), [server](<https://devfeed.tech/tags/server.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [testing](<https://devfeed.tech/tags/testing.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article presents a Rails debugging and testing workaround for projects without a robust test suite or CI environment. It recommends running the Rails server in development mode with RAILS_ENV=production so syntax errors are caught during startup.

### Source excerpt

This is an old school trick that you use when you don't have a robust test suite and / or a CI environment. When you run Rails in development mode it is VERY, VERY forgiving of little details like syntax errors - the type of thing that grind your web server to a hard stop. The trick is to use RAILS_ENV=production in development mode and that causes syntax errors to get caught: RAILS_ENV=production bundle exec rails s -p3169 Here's an example stack trace: 20: from /Users/sjohnson/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each' 19: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:61:in `block in run_initializers' 18: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `run' 17: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `instance_exec' 16: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/railties-6.0.2.1/lib/rails/application/finisher.rb:122:in `block in <module:Finisher>' 15: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:449:in `eager_load_all' 14: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:449:in `each' 13: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:338:in `eager_load' 12: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:338:in `synchronize' 11: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:346:in `block in eager_load' 10: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:682:in `ls' 9: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:682:in `foreach' 8: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loader.rb:685:in `block in ls' 7: from /Users/sjohnson/.rvm/gems/ruby-2.7.0/gems/zeitwerk-2.2.2/lib/zeitwerk/loa

## Loading Zip Codes with SmarterCSV Gem

DevFeed: [Loading Zip Codes with SmarterCSV Gem](<https://devfeed.tech/articles/loading-zip-codes-with-smartercsv-gem-28266.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rails/2020/03/18/loading-zip-codes-with-smartercsv-gem.html>)

Author: Fuzzygroup

Published: 2020-03-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [Code](<https://devfeed.tech/topics/code.md>), [import](<https://devfeed.tech/topics/import.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [covidnearme-org](<https://devfeed.tech/tags/covidnearme-org.md>), [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [import](<https://devfeed.tech/tags/import.md>), [rails](<https://devfeed.tech/tags/rails.md>), [rake](<https://devfeed.tech/tags/rake.md>), [trace](<https://devfeed.tech/tags/trace.md>), [transformation](<https://devfeed.tech/tags/transformation.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

A Rails example shows how to load U.S. ZIP code data with the SmarterCSV gem while preserving leading zeros. It uses a rake task and excludes the ZIP field from numeric conversion because the documented transformation did not work as expected.

### Source excerpt

Zip code data is always problematic due to the leading zeros. The smarter_csv gem in Rails defaults to automatically handling numbers as numerics, not strings, which means that you lose 00408 to just 408. Here's an example of a work around using a rake task to load data: # bundle exec rake data:import_geography --trace task :import_geography => :environment do path = File.join(Rails.root, 'lib/tasks/data/', 'Geocodes_USA_with_Counties.csv') geographies = SmarterCSV.process(path, { hash_transformations: [ :convert_values_to_numeric_unless_leading_zeros], convert_values_to_numeric: { except: [:zip] }} ) geographies.each do |g| g_obj = Geography.find_or_create(g) end end Note: This wasn't the accepted work around but a hack; sigh. The :convert_values_to_numeric_unless_leading_zeros transformation doesn't seem work. Issue filed; I hope to fix this myself down the road.

[Next page](<https://devfeed.tech/tags/trace.md?cursor=WyIyMDIwLTAzLTE4VDAwOjAwOjAwKzAwOjAwIiwgImFjODkxZmIxLTNjYmYtNGMxNS05ZmUxLTdlNGNlYjAwOWNmNCJd>)