Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ProFunc - Function ProfilerNew to Visual Studio Code? Get it now.
ProFunc - Function Profiler

ProFunc - Function Profiler

Dawanse

|
26 installs
| (0) | Free
Profile Python functions with a single click. Get detailed performance insights directly in your editor.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ProFunc

A VS Code extension for profiling Python functions with a single click. Get detailed performance insights, complexity analysis, and visualize your entire codebase with codebase blueprint and interactive architecture diagrams.

What's New in v0.1.9 🎉

  • 🐍 Improved Python Detection: Enhanced Python interpreter detection with caching for faster startup times.
  • 📝 Structured Parameter Parsing: Introduced structured parsing for Python function parameters, making the inline argument forms more robust.
  • 🎨 UX & Diagram Enhancements: Addressed critical UX audit issues, delivering seamless system diagram progress tracking and clearer navigation.

Features

🚀 Instant Function Profiling

  • Hover to Profile: Simply hover over any Python function and click "Profile this function".
  • Real-time Insights: View execution time, call counts, and cumulative time directly in VS Code.

🗺️ Codebase Blueprint

  • Visual Architecture: Generate a node-based visual map of your codebase using ProFunc: Create Codebase Blueprint.
  • Interactive Navigation: Click nodes to view file details and jump directly to source code.
  • Right Panel Insights: View lines of code (LOC) and deep file statistics in the integrated side panel.

🏗️ AI-Powered System Diagram

  • Intelligent Architecture Visualization: Generate a comprehensive system architecture diagram using AI.
  • Smart Auto-Layout: Automatically arranges diagram nodes using Dagre for optimal readability.
  • Component Detection: Automatically identifies services, frontends, backends, databases, and external APIs.
  • Interactive Flow Diagram: Explore your system's architecture with an interactive ReactFlow-powered diagram.
  • OpenAI Integration: Uses OpenAI to analyze your codebase and extract architectural patterns.

📊 Performance Dashboard

  • Rich Visualizations: Analyze profiling data with Scatter charts, Sunburst diagrams, and Flame graphs.
  • History: Track performance changes over time.
  • Noise Filtering: Filter out low-impact functions to focus on performance bottlenecks.

🧠 Complexity Analysis

  • Cyclomatic Complexity: Automatically detect complex functions.
  • Visual Warnings: Get visual cues (underlines) for functions that exceed complexity thresholds.
  • Configurable Thresholds: Customize caution, warning, and danger thresholds.

How to Use

Profiling a Function

  1. Open a Python file.
  2. Hover over a function definition.
  3. Click Profile this function.
  4. View results in the "ProFunc Results" panel or open the full Dashboard.

Generating a Blueprint

  1. Open the command palette (Cmd+Shift+P or Ctrl+Shift+P).
  2. Run ProFunc: Create Codebase Blueprint.
  3. Explore your codebase structure in the generated interactive graph.
  4. Use the Right Panel to inspect specific files and view Lines of Code (LOC) metrics.

Commands

  • ProFunc: Profile This Function: Profile the current function under cursor.
  • ProFunc: Create Codebase Blueprint: Generate a visual node graph of your project.
  • ProFunc: Open System Diagram: Generate an AI-powered architecture diagram of your system.
  • ProFunc: Open Dashboard: Open the main analytics dashboard.
  • ProFunc: Show Profiling History: View past profiling sessions.
  • ProFunc: Clear Profiling Data: Reset all stored data.
  • ProFunc: Configure OpenAI API Key: Set up your OpenAI API key for AI features.
  • ProFunc: Sign In / Sign Out: Manage your ProFunc account for cloud sync features.

Settings

Setting Description Default
profunc.pythonPath Path to Python interpreter python3
profunc.timeout Profiling timeout in seconds 60
profunc.showInlineResults Show summary in hover tooltip true
profunc.dashboardDefaultView Default chart type in dashboard (scatter, sunburst, flame) scatter
profunc.enableUnderlines Show complexity warnings in editor true
profunc.ccWarningThreshold Cyclomatic complexity warning threshold 20
profunc.llmMaxFiles Max files to send to LLM for analysis 500
profunc.enableJsonMode Use JSON mode for structured LLM output true

Requirements

  • VS Code 1.85.0 or higher
  • Python 3.x
  • cProfile module (standard in Python)

Contributing

Found a bug or have a suggestion? Please open an issue on our GitHub repository.

License

MIT License - See LICENSE file for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft