• Stars
    star
    553
  • Rank 80,462 (Top 2 %)
  • Language
    Rust
  • License
    Other
  • Created almost 3 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A UI for eBPF-based performance debugging

wachy

Logo


Β  A dynamic tracing profiler for Linux


Wachy provides a UI for interactive eBPF-based userspace performance debugging. For an overview, see the website: https://rubrikinc.github.io/wachy/. For background see the introductory blog post.

For more details see the guide.

Compatibility

Wachy requires:

  1. Linux 4.6 or later kernel
  2. Traced binary should be in a compiled language, and have debugging symbols

1 is due to availability of certain eBPF features, and 2 is due to the techniques used by wachy (eBPF uprobes and address to line number mappings from debugging symbols). Wachy also supports C++ symbol demangling - it has mostly been tested with C++ binaries. If you'd like demangling support for a new compiled language, please open an issue (note: despite being compiled, Go does not play well with eBPF). If you have ideas on how to do something similar on other platforms or with other unsupported languages, I'm interested in hearing it!

Wachy also currently only supports x86-64 binaries. If you are interested in other architectures, please open an issue.

Install

Download the latest version from the Releases page.

Wachy relies on bpftrace and the following shared libraries to run: libgcc_s, libncursesw. On ubuntu some of these may be installed by default, but to install them all you can run

sudo apt install bpftrace libgcc1 libncursesw5

If you see strange characters in the TUI, ensure your LANG is set correctly, e.g. before starting wachy, run

export LANG=en_US.UTF-8

Compiling

If you want to build wachy from source, it requires the following development packages: libiberty, ncurses, cmake. On ubuntu you can install them with

sudo apt install libiberty-dev libncurses5-dev libncursesw5-dev cmake

You also need Rust installed.

Then build with cargo

cargo build --release
target/release/wachy --help

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as per LICENSE.md, without any additional terms or conditions.

Contributions to this project must be accompanied by a Contributor License Agreement. We use https://cla-assistant.io to automate this process.

More Repositories

1

kronos

Distributed Time Synchronization Service
Go
164
star
2

rubrik-sdk-for-powershell

Rubrik Module for PowerShell
PowerShell
102
star
3

rubrik-scripts-for-powershell

Collection of PowerShell Scripts created to interact to Rubrik CDM
PowerShell
49
star
4

fluent-plugin-throttle

Rate limiting for fluentd
Ruby
41
star
5

rubrik-sdk-for-python

Rubrik SDK for Python
Python
29
star
6

microsoft-365-sizing

Returns statistics on number of accounts, sites and how much storage you are using in a Microsoft 365 Subscription
PowerShell
19
star
7

rubrik-modules-for-ansible

Rubrik Modules for Ansible
Python
17
star
8

welcome-to-rubrik-build

Welcome to Rubrik Build! This repository provides all the information you need to get started contributing to projects.
17
star
9

rubrik-sdk-for-go

Rubrik SDK for Go
Go
15
star
10

terraform-provider-rubrik

Rubrik Provider for Terraform
Go
14
star
11

graphql-playground

Playground for the Rubrik CDM and Polaris GraphQL APIs
JavaScript
13
star
12

vRO-Workflow

[Deprecated] Please see the updated repository:
12
star
13

api-documentation

API documentation for the Rubrik Cloud Data Management (CDM) platform
11
star
14

use-case-powershell-backup-validation

Recovery Validation Framework with PowerShell
PowerShell
10
star
15

rbkcli

Command Line Interface (CLI) conversion of Rubrik APIs.
Python
9
star
16

rubrik-postman

Rubrik API Collections for Postman
Shell
9
star
17

api-capture-chrome-extension

Allows you to complete a workflow in the Rubrik UI and output the exact APIs, along with their response and request bodies, used to complete that workflow.
JavaScript
9
star
18

use-case-roxie

Roxie, Rubrik's Intelligent Personal Assistant
Python
8
star
19

rubrik-extension-for-vcd

VMware Cloud Director Extension for Rubrik CDM
Shell
8
star
20

polaris-o365-powershell

PowerShell commands for managing Polaris M365 protection
PowerShell
7
star
21

rubrik-powershell-sdk

The Rubrik Security Cloud SDK
C#
7
star
22

rubrik_oracle_tools

Utilities for working with Rubrik RBS Oracle backups.
Python
7
star
23

rubrik-sizing-scripts

PowerShell
6
star
24

find-incomplete-s3-multipart-uploads

Find incomplete S3 multi-part uploads
Python
6
star
25

rubrik-module-for-poshbot

Rubrik Module for PoshBot
PowerShell
5
star
26

rubrik-module-for-puppet

Rubrik Puppet Module
Ruby
5
star
27

rubrik-cookbook-for-chef

Chef Cookbook for Rubrik cluster management
Ruby
5
star
28

rubrik-polaris-sdk-for-python

Python
5
star
29

rubrik-scripts-for-bash

Sample Bash scripts
Shell
5
star
30

rubrik-scripts-for-python

Collection of Python Scripts created to interact to Rubrik CDM
Python
5
star
31

rubrik-client-for-prometheus

Rubrik Prometheus Client
Go
5
star
32

rubrik-plugin-for-nagios

Nagios/Icinga Plugin for monitoring Rubrik CDM
Python
4
star
33

ansible-role-rubrik-connector

Ansible Role for Rubrik Connector Installation
Shell
4
star
34

terraform-aws-rubrik-cloud-cluster

Terraform module to deploy a new Rubrik Cloud Cluster in AWS
HCL
4
star
35

rubrik-plugin-for-vrealize

Rubrik Plugin for vRealize
Python
3
star
36

rubrik-polaris-sdk-for-go

Go SDK for the Polaris platform
Go
3
star
37

nbdb2

Python
3
star
38

rubrik-blueprints-for-vrealize

Contains use cases and blueprints for VMware vRealize
3
star
39

rubrik-config-backup

DEPRECATED - Starting in CDM 7.0.1 configuration backup functionality is native to the platform
Python
3
star
40

testwell

Small, intuitive, and type-safe assertion library for unit testing in Go
Go
3
star
41

use-case-polaris-slack

Slack Slash Command to Create a New Polaris User
Python
3
star
42

terraform-provider-polaris

Terraform provider for the Polaris platform
Go
3
star
43

use-case-aws-cloudformation-template-cloudout-s3

AWS CloudFormation template for Rubrik CloudOut AWS Configuration
2
star
44

tppp

Python
2
star
45

pretty

Small library for pretty-printing objects in Go
Go
2
star
46

rubrik-content-pack-for-vrealize-loginsight

Content Pack for VMware vRealize Log Insight
2
star
47

terraform-aws-rubrik-s3-cloudout

Terraform module that configures an AWS S3 archive target and adds that target to the Rubrik cluster.
HCL
2
star
48

cloudoff

PowerShell script to move Instances from AWS to vSphere
PowerShell
2
star
49

use-case-aws-native-secrets-rotation

Rotate Rubrik EC2 native protection AWS credentials using secrets manager
Python
2
star
50

rubrik-module-for-powershell-backup-validation

Module for PowerShell Backup Validation
PowerShell
2
star
51

rubrik-mount-report

Ruby
2
star
52

rubrik-api-documentation

HTML
2
star
53

use-case-aws-cloudformation-template-cloudon

AWS CloudFormation template for Rubrik CloudOn Configuration
2
star
54

terraform-azure-polaris-cloud-native_tenant

HCL
1
star
55

terraform-azure-polaris-cloud-native_subscription

HCL
1
star
56

rubrik-kubernetes-protection-least-privilege-configuration

ClusterRole and Role definitions for Least Privileges Kubernetes Protection
1
star
57

cloudcluster-encrypt-aws

Rubrik Cloud Cluster Encryptor for AWS
Python
1
star
58

terraform-provider-polaris-examples

HCL
1
star
59

ansible-role-rubrik-cloudout

Ansible Role for Rubrik CloudOut AWS Configuration
1
star
60

o365-EWS-Editor

Automated used for Office 365 debugging and troubleshooting
C#
1
star
61

terraform-aws-rubrik-cloudon

Terraform module to configure a new Rubrik CloudOn deployment in AWS
HCL
1
star
62

polaris-o365-environment-discovery

Powershell scripts to gather information on Microsoft environments required for Polaris O365
PowerShell
1
star
63

azure-roledefinition-cloud-native-protection-for-azure

1
star
64

polaris-user-accounts

Manage user accounts for Polaris
1
star
65

rubrik-integration-for-sumo-logic

Rubrik Integration for SumoLogic
Python
1
star
66

python-snap-scrub

Python script to scrub snapshots
Python
1
star
67

mosaic-ansible-installer

Ansible installer for Rubrik Mosaic
1
star
68

ruby-bits-reports

Rubrik Framework for issuing Daily Reports via email for Rubrik Clusters
Ruby
1
star
69

microsoft-365-data-protection-azure-cleanup

PowerShell script to automatically remove Azure resources created during the Polaris Microsoft 365 protection process
PowerShell
1
star
70

polaris-cloudnative-accounts

Automate adding and removing cloud accounts in Polaris for cloud native protection.
Python
1
star
71

Oracle-On-Windows-Scripts

PowerShell
1
star
72

repository-index

1
star
73

use-case-aws-native-snapshot-replication

Provides replication of Rubrik generated EC2 snapshots to alternate locations.
Python
1
star
74

use-case-aws-cloudformation-template-cloudcluster

Easily deploy Rubrik Cloud Cluster in AWS
1
star
75

rubrik-module-for-salt

Rubrik Module for Salt
Python
1
star
76

terraform-aws-polaris-cloud-native

HCL
1
star
77

use-case-exchange-dag-awareness

Powershell scripts to backup exchange DAG from passive based on DAG mounted location
PowerShell
1
star
78

use-case-arm-template-cloudout

Easily configure Azure for Rubrik CloudOut
1
star