Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ related #
- [ ] πŸ”– README.md
- [ ] πŸ”– CHANGELOG.md
- [ ] πŸ“– help site
- [ ] πŸ§ͺ Marked any pre-release-only features (README `πŸ§ͺ` badge β€” see [RELEASING.md](../RELEASING.md#-marking-pre-release-only-features))
- [ ] πŸ™… not needed

## Anything else we need to know? [optional]
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ dist/
build/
out/
coverage/

tsconfig.tsbuildinfo
4 changes: 4 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ We can't wait to see your contributions! Whether it’s fixing a bug, adding a n
- We follow a simple format for commit messages: [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
- Use the imperative mood in the subject line (e.g., "fix: date parsing in log parser" rather than "fixed date parsing in log parser").

## πŸ§ͺ New Features

> πŸ§ͺ Adding a user-facing feature that isn't in the stable release yet? Add a `πŸ§ͺ` badge in `README.md` in the same PR so stable users aren't misled. See [Marking Pre-Release-Only Features](https://github.com/certinia/debug-log-analyzer/blob/main/RELEASING.md#-marking-pre-release-only-features).

## πŸ’¬ Need Help?

If you get stuck at any point, feel free to open an issue or reach out to us in the discussions tab. We’re here to help and we want to make your contribution experience as smooth as possible. πŸ€—
Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Apex Log Analyzer is a blazing-fast VS Code extension for Salesforce developers.

> ✨ Works with any `.log` Salesforce debug log file.

> πŸ§ͺ **Pre-Release only** β€” available in the [Pre-Release Version](#-try-the-pre-release-version); not yet in the stable release.

## πŸ› οΈ Installation

### πŸ“¦ Install Apex Log Analyzer in VS Code
Expand All @@ -41,7 +43,7 @@ You can install Apex Log Analyzer directly from Visual Studio Code, the command

[➑️ Install Apex Log Analyzer on Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=financialforce.lana)

#### πŸ§ͺ Option 3: Install via Command Line
#### >\_ Option 3: Install via Command Line

```bash
code install financialforce.lana
Expand Down Expand Up @@ -81,13 +83,13 @@ Use `Log: Retrieve Apex Log And Show Analysis` from the Command Palette.

The Timeline view shows a live visualization of your Salesforce Apex log execution β€” including methods, SOQL queries, DML operations, workflows, flows, and more.

- **⚑ Fast** – Blazing-fast zoom, pan, and rendering even on massive logs (500k+ lines).
- **πŸ—ΊοΈ Minimap** – Bird's-eye view with skyline density overview, viewport lens, and instant teleport.
- **πŸ“Š Governor Limits Strip** – At-a-glance limit usage with traffic light coloring. Expand for detailed step chart.
- **πŸ“ Measure & Zoom** – `Shift+Drag` to measure durations, `Alt/Option+Drag` to area-zoom, precision keyboard controls.
- **πŸ• Wall-Clock Time** – Toggle between elapsed and real-time (HH:MM:SS.mmm) on the time axis via the toolbar clock button.
- **⚑ Fast** – Blazing-fast zoom, pan, and rendering even on massive logs (500k+ lines). πŸ§ͺ
- **πŸ—ΊοΈ Minimap** – Bird's-eye view with skyline density overview, viewport lens, and instant teleport. πŸ§ͺ
- **πŸ“Š Governor Limits Strip** – At-a-glance limit usage with traffic light coloring. Expand for detailed step chart. πŸ§ͺ
- **πŸ“ Measure & Zoom** – `Shift+Drag` to measure durations, `Alt/Option+Drag` to area-zoom, precision keyboard controls. πŸ§ͺ
- **πŸ• Wall-Clock Time** – Toggle between elapsed and real-time (HH:MM:SS.mmm) on the time axis via the toolbar clock button. πŸ§ͺ

Also: Frame Selection & Navigation, Dynamic Frame Labels, Adaptive Frame Detail, Tooltips, Context Menu, Search & Highlight, 19 Curated Themes.
Also: Frame Selection & Navigation, Dynamic Frame Labels, Adaptive Frame Detail, Tooltips, Context Menu, Search & Highlight, 19 Curated Themes. πŸ§ͺ

![Flame Chart](https://raw.githubusercontent.com/certinia/debug-log-analyzer/main/lana/assets/v1.18/lana-timeline.png)

Expand All @@ -98,7 +100,7 @@ Also: Frame Selection & Navigation, Dynamic Frame Labels, Adaptive Frame Detail,
Explore nested method calls with performance metrics:

- **Metrics**: Self Time, Total Time, SOQL/DML/Thrown Counts, SOQL/DML/Rows
- **Views**: Use Time Order for sequence, Aggregated for repeated hot paths, Bottom-Up for caller attribution
- **Views**: Use Time Order for sequence, Aggregated for repeated hot paths, Bottom-Up for caller attribution πŸ§ͺ
- **Filter by Namespace, Type or Duration**
- **Toggle Debug-Only + Detail Events**
- **Keyboard Navigation**
Expand All @@ -110,7 +112,7 @@ Explore nested method calls with performance metrics:

See which methods are the slowest, most frequent. or expensive.

- **Group by Type, Namespace, or Caller Namespace**
- **Group by Type, Namespace, or Caller Namespace πŸ§ͺ**
- **Sort by Duration, Count, Name, Type or Namespace**
- **Filter to specific event types**
- **Copy or Export to CSV**
Expand All @@ -122,7 +124,7 @@ See which methods are the slowest, most frequent. or expensive.
Highlight slow Salesforce SOQL queries, non-selective filters, and DML issues.

- **SOQL + DML Duration, Selectivity, Aggregates, Row Count**
- **Group by Namespace, Caller Namespace, or Query**
- **Group by Namespace, Caller Namespace πŸ§ͺ, or Query**
- **View the Call Stack**
- **SOQL Optimization Tips**
- **Sort by SOQL or DML, Duration, Selectivity, Aggregates, Row Count**
Expand All @@ -141,7 +143,7 @@ Search across all visualizations:

Quickly step through matches, auto-expand parents, and automatically show timeline tooltips.

## πŸ“„ Raw Log Navigation
## πŸ“„ Raw Log Navigation πŸ§ͺ

Seamlessly navigate between the visual analysis and your raw `.log` files:

Expand Down Expand Up @@ -190,7 +192,7 @@ The same npm package works in Cursor and other MCP clients. See the [`@certinia/

## 🎨 Customization

Adjust event colors in `settings.json`:
Adjust event colors with custom timeline themes in `settings.json`: πŸ§ͺ

```json
"lana.timeline.customThemes": {
Expand Down
28 changes: 20 additions & 8 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This guide explains how maintainers release stable and pre-release versions.
2. [Pre-Release Flow (Automated)](#-pre-release-flow-automated)
3. [Stable Release Flow (Manual)](#-stable-release-flow-manual)
4. [Marketplace README Limitation](#-marketplace-readme-limitation)
5. [Marking Pre-Release-Only Features in the README](#-marking-pre-release-only-features-in-the-readme)
5. [Marking Pre-Release-Only Features](#-marking-pre-release-only-features)

## πŸ”’ Versioning Convention

Expand Down Expand Up @@ -44,8 +44,7 @@ A stable release is cut by hand. Do these steps in order:
1. **Update the changelog + readme.**
- Rename `[Unreleased]` in the root [`CHANGELOG.md`](./CHANGELOG.md) to `## [X.Y.Z] YYYY-MM-DD` .
- Only edit the **root** `CHANGELOG.md`
- Remove any `πŸ§ͺ Pre-Release` markers in the root `README.md` for features that ship in this
release (see [Marking Pre-Release-Only Features](#-marking-pre-release-only-features-in-the-readme)).
- For features that ship in this release, remove their `πŸ§ͺ` badges in the root `README.md` (see [Marking Pre-Release-Only Features](#-marking-pre-release-only-features)).

1. **Bump the version.** Set `version` in [`lana/package.json`](./lana/package.json) to the new stable version. Use the **next even minor** (`1.18.x` β†’ `1.20.0`) for a feature release, or a patch bump (`1.18.1` β†’ `1.18.2`) for a fix-only release. Commit these changes to the selected release branch.
1. **Create a GitHub Release.** Tag the release with a name that **exactly equals** the
Expand All @@ -68,14 +67,27 @@ Practical consequences:
- Keep the README channel-neutral.
- Treat root `README.md`, `CHANGELOG.md`, and `LICENSE.txt` as the source of truth. Do not hand-edit the generated `lana/` copies.

## πŸ§ͺ Marking Pre-Release-Only Features in the README
## πŸ§ͺ Marking Pre-Release-Only Features

Because the public README can show pre-release content to stable users (see above), make pre-release-only features clearly marked so stable users aren't misled about what they can use today.
Because the public README can show pre-release content to stable users (see above), mark
pre-release-only features clearly so stable users aren't misled about what they can use today.
**Add the marker in the same PR that introduces the feature** (the PR template has a checklist
reminder).

Add a blockquote callout directly under the relevant feature in the root `README.md`:
### README β€” inline `πŸ§ͺ` badge

The README uses a compact inline badge so deeply nested feature lists stay readable. The legend is
defined once near the top:

```md
> πŸ§ͺ **Pre-Release** β€” available in the Pre-Release Version; not yet in the stable release.
> πŸ§ͺ **Pre-Release only** β€” available in the [Pre-Release Version](#-try-the-pre-release-version); not yet in the stable release.
```

When a feature graduates to stable, **removing its `πŸ§ͺ Pre-Release` marker is part of the stable release checklist** (step 1 above).
Then append `πŸ§ͺ` at the smallest accurate scope:

- **Whole feature/section** is pre-release β†’ on the section heading (e.g. `## πŸ“„ Raw Log Navigation πŸ§ͺ`).
- **A single bullet** is pre-release β†’ at the end of that bullet.
- **Only part of a bullet** β†’ right after the specific phrase (e.g. `… or Caller Namespace πŸ§ͺ, or Query`).

When a feature graduates to stable, **removing its `πŸ§ͺ` badge is part of the stable release
checklist** (step 1 above).
1 change: 0 additions & 1 deletion lana/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
.idea/

*.vsix
tsconfig.tsbuildinfo

out/
node_modules/*
Expand Down
2 changes: 0 additions & 2 deletions log-viewer/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,3 @@

node_modules/*
out/

tsconfig.tsbuildinfo
Loading