Real-Time Code Coloring System: Architecture, Features, and Implementation

The article introduces a real-time code coloring system for Lua-based game development, explaining its purpose, usage scenarios, core functionalities, data collection methods, architectural design, technical challenges, performance optimizations, and network communication using Django Channels.

NetEase LeiHuo Testing Center
NetEase LeiHuo Testing Center
NetEase LeiHuo Testing Center
Real-Time Code Coloring System: Architecture, Features, and Implementation

Code coverage is a metric describing the proportion of source code executed during testing, used to evaluate test quality and guide test case design.

The real-time code coloring system extends traditional coverage tools by instantly displaying which code is executed as users interact, helping developers and testers understand execution flow and improve testing efficiency.

Typical usage scenarios include unit or module testing of new game features, such as independent functions, holiday events, or gameplay mechanics, where the system highlights executed Lua code in the client.

Key functionalities comprise real-time coloring, historical data lookup, multi‑server data merging, version‑specific data merging, automatic report generation, and various UI utilities like clearing results, searching the tree, navigating colored lines, and displaying server information.

Architecture: the system targets Lua code in both server (C++/Lua) and client (C#/Lua). Data collection is performed via two methods: using Lua's debug library with debug.sethook(handler, mask, count) to hook call/return/line events, or instrumentation (inserting counters) which offers higher flexibility at the cost of code modification. The team selected instrumentation for lower performance impact.

Method

Workload

Portability

Flexibility

Performance Impact

debug library

Direct use

Good

Poor

High

Instrumentation

Additional insertion

Poor

Good

Low

Technical challenges include high‑frequency data transmission from game processes to a Django server, database write pressure, and front‑end bandwidth for real‑time visualization. Optimizations involve caching collected data, using Redis, batching database writes, and compressing line‑number storage.

Network communication employs Django Channels, enabling WebSocket‑like real‑time updates, which is essential for multiple testers to see live results simultaneously.

Conclusion: the system currently supports Lua and provides a reference architecture for teams seeking similar real‑time coverage solutions, with plans to extend support to other languages in the future.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Backendcode coverageReal-TimearchitectureLua
NetEase LeiHuo Testing Center
Written by

NetEase LeiHuo Testing Center

LeiHuo Testing Center provides high-quality, efficient QA services, striving to become a leading testing team in China.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.