NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Andrew Gallagher

Developer

Andrew Gallagher

andrewjcg@meta.com

58 commits~2 files/commit

Performance

YoY:+260%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthFeb'2531 performance
Growth Trend↓42%vs prior period
Avg Files/Commit2files per commit
Active Days35of 455 days
Top Repobuck254 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

78%Productive TimeGrowth 48% + Fixes 52%
5%Maintenance Time
17%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
fa7dfcfThis commit introduces a **new capability** by adding the `allow_unsandboxed_action_cache_uploads` parameter to the `meta_internal_extra_params` dictionary for `actions.run()`. This parameter, when set to `True`, instructs **Remote Execution (RE)** workers to upload action results to the **action cache** even if the action ran without network isolation. This change primarily affects the **command execution** and **RE action creation** subsystems, specifically within `MetaInternalExtraParams` parsing and propagation. The **feature addition** enables actions that require network access but produce deterministic outputs, such as `fbpkg_fetch`, to benefit from **RE action caching**, thereby improving overall build performance and efficiency.Mar 303grow
20c1dfcThis commit provides a **critical bug fix** and **enhancement** to the **PAR loading mechanism** on **macOS**, specifically addressing issues when using `/dev/fd/<N>` paths. It resolves a **spawn worker hang** by extending `sitecustomize.py` to correctly handle `/dev/fd/N` paths for multiprocessing workers, preventing `FD_CLOEXEC` from invalidating resource access. Furthermore, it eliminates **shared file offset races** within the `zipimport` module by introducing a `pread()`-based replacement for `_read_directory` in `__run_par_main__.py`, ensuring robust and concurrent resource access. This significantly improves the **stability and reliability** of PAR-based applications on macOS.Mar 121waste
8031907This commit introduces a **feature enhancement** and **refactoring** to the **Python wheel build system**, specifically improving how ABI and Python version tags are managed. It **adds `abi` and `python` fields to the `PythonWheelToolchainInfo` provider** in `prelude/python/python_wheel_toolchain.bzl`, centralizing this critical metadata and setting the default platform to 'any'. Consequently, the `python_wheel` rule in `prelude/python/python_wheel.bzl` is **refactored to derive these tags directly from the toolchain**, rather than relying on direct attributes, and removes support for future Python version metadata. This change ensures **proper and consistent `abi` and `python` tags for `manylinux` wheels**, enhancing the accuracy and compatibility of generated Python packages.Feb 122maint
25ef55eThis commit introduces a **new `python_wheel_toolchain` mechanism** to provide configurable tools for building Python wheels. It defines the `PythonWheelToolchainInfo` provider in `prelude/python/python_wheel_toolchain.bzl`, allowing users to specify custom build and repair tools. The new toolchain is registered in `toolchains_common.bzl` and integrated into the `python_wheel` rule in `prelude/python/python_wheel.bzl` via a new attribute. This **new feature** significantly enhances the flexibility and customization options for the **Python wheel build process**.Feb 23grow
a3247eeThis commit introduces a **new capability** to specify the `platform` for Python wheels by leveraging the `python_wheel_toolchain`. Specifically, the `PythonWheelToolchainInfo` provider in `prelude/python/python_wheel_toolchain.bzl` now includes a `platform` field, allowing a default platform tag to be defined at the toolchain level. The **`python_wheel` rule** in `prelude/python/python_wheel.bzl` is updated to resolve this platform tag from the toolchain if it's not explicitly set on the wheel target, and the `_whl_cmd` is adjusted accordingly. This enhancement provides a more centralized and consistent way to manage platform tags for generated Python wheels.Feb 22grow
b7a9987This commit introduces a **new feature** to the **C++ build system**, enabling **dependent-specific linkage** for `prebuilt_cxx_library` dependencies. It exposes `prefer-shared` and `prefer-static` sub-targets within the `prebuilt_cxx_library` rule, allowing consumers to explicitly request a preferred linkage type. This enhancement, implemented by **refactoring** the `prebuilt_cxx_library_impl` function in `prelude/cxx/cxx.bzl` to use helper functions like `_create_prebuilt_library_outputs`, provides greater control over direct dependencies. Notably, this preferred linkage choice **does not propagate to transitive dependencies**.Jan 271grow
55c7df6This commit introduces a **new capability** to the **C++ build system** by adding `prefer-shared` and `prefer-static` sub-targets to the `cxx_library` rule. This enhancement allows for **dependent-specific linkage control** of direct `cxx_library` dependencies, providing greater flexibility in how C++ libraries are consumed. The change is implemented within the `cxx_library_parameterized` function in `prelude/cxx/cxx_library.bzl`. It's important to note that this preferred linkage setting applies only to immediate dependencies and does not propagate to transitive dependencies.Jan 271grow
99980d6This commit **enables `liburing` support by default** for **Linux builds** within the **`folly/io/async`** module. This **configuration change** leverages `io_uring` to provide **better I/O performance** on compatible kernels. The build configuration file `folly/io/async/BUCK` is updated to activate this feature, including specific overrides for certain Linux environments. Consequently, applications utilizing **`folly/io/async`** on Linux will automatically benefit from these performance enhancements where `io_uring` is available.Jan 141grow
2bfe7d4This commit provides a **bug fix** to the **command executor configuration** logic within `prelude/tests/re_utils.bzl`. It **corrects the evaluation of configuration properties** in the `get_re_executors_from_props` function. Previously, the `local_listing_enabled` flag was erroneously ignored if `listing_capabilities` was not also present, leading to incorrect executor setup. This change ensures that **local listing functionality** is properly respected and applied, preventing unintended behavior in command execution.Dec 181waste
17a3955This commit introduces a **new capability** to **override `resource_unit` settings specifically for listing operations** within **remote execution (RE) configurations**. Previously, `resource_unit` settings might have been applied uniformly, but this change enables more granular control over resource allocation for specific remote execution tasks. The update, primarily reflected in the `prelude/tests/re_utils.bzl` test file and related to the `get_re_executors_from_props` symbol, ensures that resource allocation for listing can be independently configured. This enhancement provides greater flexibility in managing resources for different types of remote execution tasks.Nov 171maint
dc34fc5This commit implements a **build system fix** to resolve issues with untracked access to `fbsource` paths, particularly for the **NCCL feedstock**. It introduces a `custom_source_tree` rule to explicitly compose the required subset of `fbsource` and passes a rule-reference via an environment variable for proper input tracking. The `folly/BUCK` file is updated to include an `fb_native.export_file` rule named `src-tree`, which exports the current directory as a source tree reference. This change ensures that the **Buck2 build system** correctly identifies and tracks all necessary source inputs for the **NCCL feedstock**, enhancing build reliability.Nov 141maint
a879afdThis commit **corrects a linking oversight** by ensuring that `RPATH`s are properly set for **all omnibus root libraries**, including non-extension ones, within the **Python wheel build process**. Previously, `RPATH`s were only applied to extension roots, leading to issues where other omnibus roots could not find their internal dependencies like `libomnibus.so`. The change modifies the `_rpath` helper function and `_impl` in `prelude/python/python_wheel.bzl` to broaden this application. This **maintenance fix** guarantees that all components of a **Python wheel** can correctly resolve their dependencies at runtime, preventing execution failures.Nov 31waste
ae7b8bdThis commit **fixes** a critical issue in **Python editable installs** where **native libraries** were symlinked, leading to broken `RPATH` resolution. The **Python wheel build process** (`prelude/python/python_wheel.bzl`) is updated to **copy native libraries** into the editable tree instead of symlinking them, as native code does not require in-place modification. Additionally, the `create_link_tree.py` utility is enhanced to support this new copying mechanism, ensuring `RPATH`s correctly resolve relative to the copied files. This **bug fix** prevents runtime errors and improves the reliability of development environments for projects with native extensions.Nov 32waste
6c540ceThis commit **refines the C++ omnibus linking process** by specifically scoping the `--no-as-needed` linker flag. Previously, this flag was applied globally, inadvertently preventing all libraries from being dropped during linking, which was an unintended side-effect. This **bug fix** now ensures the flag is applied only to the **dummy omnibus DSO** within `prelude/cxx/omnibus.bzl`, allowing other unused libraries to be correctly optimized out. This improves linker efficiency and potentially reduces binary sizes for projects utilizing the omnibus system.Sep 191maint
b2ee083This commit **fixes a potential conflict** by assigning a unique SONAME to each `omnibus` library embedded within Python wheels. Previously, installing multiple `omnibus`-enabled wheels in the same environment could lead to conflicts due to shared `libomnibus.so` names. The change modifies the **Python wheel build logic** within `prelude/python/python_wheel.bzl` to ensure that the `create_omnibus_libraries` function generates distinct identifiers for each library. This **critical maintenance update** prevents runtime issues and improves the stability of Python environments utilizing multiple such wheels.Sep 191waste
457979cThis commit introduces a **new capability** to the **omnibus library creation system** by allowing the SONAME to be parameterized. Specifically, the `prelude/cxx/omnibus.bzl` build file now accepts an `omnibus_lib_name` argument in functions such as `_omnibus_soname` and `create_omnibus_libraries`. This **feature enhancement** provides greater flexibility, enabling users to specify a custom name for the generated `libomnibus.so` file, rather than relying on a fixed default.Sep 191grow
9e88030This commit introduces a **new capability** to the **Python toolchain configuration** by adding `wheel_extension_linker_flags`. This new field, defined in `PythonToolchainInfo` within `prelude/python/toolchain.bzl`, allows specifying linker flags specifically for native extensions included in Python wheels. The `prelude/python/python_wheel.bzl` module then consumes these toolchain-level flags, applying them as `extra_root_ldflags` during the build process for such extensions. This enhancement provides more granular control over the linking of native components within Python wheels, improving build flexibility and potentially resolving platform-specific linking challenges.Sep 112grow
164e4bcThis commit introduces a **new capability** for **prebuilt C++ library rules**, allowing them to accept an optional `third_party_build` parameter. The `prebuilt_cxx_library_impl` function in `prelude/cxx/cxx.bzl` is updated to conditionally generate shared library information based on this new attribute. This enhancement to the `prebuilt_cxx_library` rule definition in `prelude/rules_impl.bzl` enables these rules to export custom `ThirdPartyBuildInfo`, improving the integration and representation of external dependencies within the build system. The change primarily affects the **build system's definition and implementation of prebuilt C++ libraries**, providing greater flexibility for managing third-party components.Sep 42grow
1785047This commit **refactors the Rust build system** to address **memory inefficiency** in how `ThirdPartyBuildInfo` is managed. Specifically, it modifies the `RustLinkInfo` structure in `prelude/rust/link_info.bzl` to store a single, consolidated `ThirdPartyBuildInfo` object, rather than a list, by utilizing `tsets` to avoid redundant data copying. This **memory optimization** impacts various **Rust link provider functions** in `prelude/rust/rust_library.bzl`, such as `_proc_macro_link_providers`, which are updated to correctly create and consume the unified object. The change aims to reduce memory consumption and improve performance during the Rust build process, especially for projects with numerous third-party dependencies.Sep 42maint
8df2ce3This commit introduces a **fix** and a **tooling improvement** for the **`ThirdPartyBuildInfo` provider**. It modifies the `python_library_impl` function within `prelude/python/python_library.bzl` to clear out unnecessary default include and bin paths from the `ThirdPartyBuildInfo` manifest, ensuring more accurate build information. Additionally, a new `third-party-build` sub-target is added, providing a direct and convenient way to build and debug the `ThirdPartyBuildInfo` manifest. This change improves the correctness of build metadata and enhances developer debugging capabilities for third-party dependencies.Sep 31waste
fa7dfcfMar 30

This commit introduces a **new capability** by adding the `allow_unsandboxed_action_cache_uploads` parameter to the `meta_internal_extra_params` dictionary for `actions.run()`. This parameter, when set to `True`, instructs **Remote Execution (RE)** workers to upload action results to the **action cache** even if the action ran without network isolation. This change primarily affects the **command execution** and **RE action creation** subsystems, specifically within `MetaInternalExtraParams` parsing and propagation. The **feature addition** enables actions that require network access but produce deterministic outputs, such as `fbpkg_fetch`, to benefit from **RE action caching**, thereby improving overall build performance and efficiency.

3 filesgrow
20c1dfcMar 12

This commit provides a **critical bug fix** and **enhancement** to the **PAR loading mechanism** on **macOS**, specifically addressing issues when using `/dev/fd/<N>` paths. It resolves a **spawn worker hang** by extending `sitecustomize.py` to correctly handle `/dev/fd/N` paths for multiprocessing workers, preventing `FD_CLOEXEC` from invalidating resource access. Furthermore, it eliminates **shared file offset races** within the `zipimport` module by introducing a `pread()`-based replacement for `_read_directory` in `__run_par_main__.py`, ensuring robust and concurrent resource access. This significantly improves the **stability and reliability** of PAR-based applications on macOS.

1 fileswaste
8031907Feb 12

This commit introduces a **feature enhancement** and **refactoring** to the **Python wheel build system**, specifically improving how ABI and Python version tags are managed. It **adds `abi` and `python` fields to the `PythonWheelToolchainInfo` provider** in `prelude/python/python_wheel_toolchain.bzl`, centralizing this critical metadata and setting the default platform to 'any'. Consequently, the `python_wheel` rule in `prelude/python/python_wheel.bzl` is **refactored to derive these tags directly from the toolchain**, rather than relying on direct attributes, and removes support for future Python version metadata. This change ensures **proper and consistent `abi` and `python` tags for `manylinux` wheels**, enhancing the accuracy and compatibility of generated Python packages.

2 filesmaint
25ef55eFeb 2

This commit introduces a **new `python_wheel_toolchain` mechanism** to provide configurable tools for building Python wheels. It defines the `PythonWheelToolchainInfo` provider in `prelude/python/python_wheel_toolchain.bzl`, allowing users to specify custom build and repair tools. The new toolchain is registered in `toolchains_common.bzl` and integrated into the `python_wheel` rule in `prelude/python/python_wheel.bzl` via a new attribute. This **new feature** significantly enhances the flexibility and customization options for the **Python wheel build process**.

3 filesgrow
a3247eeFeb 2

This commit introduces a **new capability** to specify the `platform` for Python wheels by leveraging the `python_wheel_toolchain`. Specifically, the `PythonWheelToolchainInfo` provider in `prelude/python/python_wheel_toolchain.bzl` now includes a `platform` field, allowing a default platform tag to be defined at the toolchain level. The **`python_wheel` rule** in `prelude/python/python_wheel.bzl` is updated to resolve this platform tag from the toolchain if it's not explicitly set on the wheel target, and the `_whl_cmd` is adjusted accordingly. This enhancement provides a more centralized and consistent way to manage platform tags for generated Python wheels.

2 filesgrow
b7a9987Jan 27

This commit introduces a **new feature** to the **C++ build system**, enabling **dependent-specific linkage** for `prebuilt_cxx_library` dependencies. It exposes `prefer-shared` and `prefer-static` sub-targets within the `prebuilt_cxx_library` rule, allowing consumers to explicitly request a preferred linkage type. This enhancement, implemented by **refactoring** the `prebuilt_cxx_library_impl` function in `prelude/cxx/cxx.bzl` to use helper functions like `_create_prebuilt_library_outputs`, provides greater control over direct dependencies. Notably, this preferred linkage choice **does not propagate to transitive dependencies**.

1 filesgrow
55c7df6Jan 27

This commit introduces a **new capability** to the **C++ build system** by adding `prefer-shared` and `prefer-static` sub-targets to the `cxx_library` rule. This enhancement allows for **dependent-specific linkage control** of direct `cxx_library` dependencies, providing greater flexibility in how C++ libraries are consumed. The change is implemented within the `cxx_library_parameterized` function in `prelude/cxx/cxx_library.bzl`. It's important to note that this preferred linkage setting applies only to immediate dependencies and does not propagate to transitive dependencies.

1 filesgrow
99980d6Jan 14

This commit **enables `liburing` support by default** for **Linux builds** within the **`folly/io/async`** module. This **configuration change** leverages `io_uring` to provide **better I/O performance** on compatible kernels. The build configuration file `folly/io/async/BUCK` is updated to activate this feature, including specific overrides for certain Linux environments. Consequently, applications utilizing **`folly/io/async`** on Linux will automatically benefit from these performance enhancements where `io_uring` is available.

1 filesgrow
2bfe7d4Dec 18

This commit provides a **bug fix** to the **command executor configuration** logic within `prelude/tests/re_utils.bzl`. It **corrects the evaluation of configuration properties** in the `get_re_executors_from_props` function. Previously, the `local_listing_enabled` flag was erroneously ignored if `listing_capabilities` was not also present, leading to incorrect executor setup. This change ensures that **local listing functionality** is properly respected and applied, preventing unintended behavior in command execution.

1 fileswaste
17a3955Nov 17

This commit introduces a **new capability** to **override `resource_unit` settings specifically for listing operations** within **remote execution (RE) configurations**. Previously, `resource_unit` settings might have been applied uniformly, but this change enables more granular control over resource allocation for specific remote execution tasks. The update, primarily reflected in the `prelude/tests/re_utils.bzl` test file and related to the `get_re_executors_from_props` symbol, ensures that resource allocation for listing can be independently configured. This enhancement provides greater flexibility in managing resources for different types of remote execution tasks.

1 filesmaint
dc34fc5Nov 14

This commit implements a **build system fix** to resolve issues with untracked access to `fbsource` paths, particularly for the **NCCL feedstock**. It introduces a `custom_source_tree` rule to explicitly compose the required subset of `fbsource` and passes a rule-reference via an environment variable for proper input tracking. The `folly/BUCK` file is updated to include an `fb_native.export_file` rule named `src-tree`, which exports the current directory as a source tree reference. This change ensures that the **Buck2 build system** correctly identifies and tracks all necessary source inputs for the **NCCL feedstock**, enhancing build reliability.

1 filesmaint
a879afdNov 3

This commit **corrects a linking oversight** by ensuring that `RPATH`s are properly set for **all omnibus root libraries**, including non-extension ones, within the **Python wheel build process**. Previously, `RPATH`s were only applied to extension roots, leading to issues where other omnibus roots could not find their internal dependencies like `libomnibus.so`. The change modifies the `_rpath` helper function and `_impl` in `prelude/python/python_wheel.bzl` to broaden this application. This **maintenance fix** guarantees that all components of a **Python wheel** can correctly resolve their dependencies at runtime, preventing execution failures.

1 fileswaste
ae7b8bdNov 3

This commit **fixes** a critical issue in **Python editable installs** where **native libraries** were symlinked, leading to broken `RPATH` resolution. The **Python wheel build process** (`prelude/python/python_wheel.bzl`) is updated to **copy native libraries** into the editable tree instead of symlinking them, as native code does not require in-place modification. Additionally, the `create_link_tree.py` utility is enhanced to support this new copying mechanism, ensuring `RPATH`s correctly resolve relative to the copied files. This **bug fix** prevents runtime errors and improves the reliability of development environments for projects with native extensions.

2 fileswaste
6c540ceSep 19

This commit **refines the C++ omnibus linking process** by specifically scoping the `--no-as-needed` linker flag. Previously, this flag was applied globally, inadvertently preventing all libraries from being dropped during linking, which was an unintended side-effect. This **bug fix** now ensures the flag is applied only to the **dummy omnibus DSO** within `prelude/cxx/omnibus.bzl`, allowing other unused libraries to be correctly optimized out. This improves linker efficiency and potentially reduces binary sizes for projects utilizing the omnibus system.

1 filesmaint
b2ee083Sep 19

This commit **fixes a potential conflict** by assigning a unique SONAME to each `omnibus` library embedded within Python wheels. Previously, installing multiple `omnibus`-enabled wheels in the same environment could lead to conflicts due to shared `libomnibus.so` names. The change modifies the **Python wheel build logic** within `prelude/python/python_wheel.bzl` to ensure that the `create_omnibus_libraries` function generates distinct identifiers for each library. This **critical maintenance update** prevents runtime issues and improves the stability of Python environments utilizing multiple such wheels.

1 fileswaste
457979cSep 19

This commit introduces a **new capability** to the **omnibus library creation system** by allowing the SONAME to be parameterized. Specifically, the `prelude/cxx/omnibus.bzl` build file now accepts an `omnibus_lib_name` argument in functions such as `_omnibus_soname` and `create_omnibus_libraries`. This **feature enhancement** provides greater flexibility, enabling users to specify a custom name for the generated `libomnibus.so` file, rather than relying on a fixed default.

1 filesgrow
9e88030Sep 11

This commit introduces a **new capability** to the **Python toolchain configuration** by adding `wheel_extension_linker_flags`. This new field, defined in `PythonToolchainInfo` within `prelude/python/toolchain.bzl`, allows specifying linker flags specifically for native extensions included in Python wheels. The `prelude/python/python_wheel.bzl` module then consumes these toolchain-level flags, applying them as `extra_root_ldflags` during the build process for such extensions. This enhancement provides more granular control over the linking of native components within Python wheels, improving build flexibility and potentially resolving platform-specific linking challenges.

2 filesgrow
164e4bcSep 4

This commit introduces a **new capability** for **prebuilt C++ library rules**, allowing them to accept an optional `third_party_build` parameter. The `prebuilt_cxx_library_impl` function in `prelude/cxx/cxx.bzl` is updated to conditionally generate shared library information based on this new attribute. This enhancement to the `prebuilt_cxx_library` rule definition in `prelude/rules_impl.bzl` enables these rules to export custom `ThirdPartyBuildInfo`, improving the integration and representation of external dependencies within the build system. The change primarily affects the **build system's definition and implementation of prebuilt C++ libraries**, providing greater flexibility for managing third-party components.

2 filesgrow
1785047Sep 4

This commit **refactors the Rust build system** to address **memory inefficiency** in how `ThirdPartyBuildInfo` is managed. Specifically, it modifies the `RustLinkInfo` structure in `prelude/rust/link_info.bzl` to store a single, consolidated `ThirdPartyBuildInfo` object, rather than a list, by utilizing `tsets` to avoid redundant data copying. This **memory optimization** impacts various **Rust link provider functions** in `prelude/rust/rust_library.bzl`, such as `_proc_macro_link_providers`, which are updated to correctly create and consume the unified object. The change aims to reduce memory consumption and improve performance during the Rust build process, especially for projects with numerous third-party dependencies.

2 filesmaint
8df2ce3Sep 3

This commit introduces a **fix** and a **tooling improvement** for the **`ThirdPartyBuildInfo` provider**. It modifies the `python_library_impl` function within `prelude/python/python_library.bzl` to clear out unnecessary default include and bin paths from the `ThirdPartyBuildInfo` manifest, ensuring more accurate build information. Additionally, a new `third-party-build` sub-target is added, providing a direct and convenient way to build and debug the `ThirdPartyBuildInfo` manifest. This change improves the correctness of build metadata and enhances developer debugging capabilities for third-party dependencies.

1 fileswaste

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch