sapling/eden/fs/cli/trace.py
Ratnadeep Joshi 6447950e1a Move cli/ directory from eden/ to eden/fs (Without changing namespace)
Summary:
[edenfs] Move cli/ directory from eden/ to eden/fs (Without changing
namespace)

Reviewed By: simpkins

Differential Revision: D20505093

fbshipit-source-id: 1975afac2ca1cd70ca407dde485c97254f4cc1e9
2020-03-25 11:18:30 -07:00

44 lines
1.3 KiB
Python

#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
import argparse
from . import cmd_util, subcmd as subcmd_mod
from .subcmd import Subcmd
from .trace_cmd import trace_cmd
@trace_cmd("enable", "Enable tracing")
class EnableTraceCmd(Subcmd):
def run(self, args: argparse.Namespace) -> int:
instance = cmd_util.get_eden_instance(args)
with instance.get_thrift_client() as client:
client.enableTracing()
return 0
@trace_cmd("disable", "Disable tracing")
class DisableTraceCmd(Subcmd):
def run(self, args: argparse.Namespace) -> int:
instance = cmd_util.get_eden_instance(args)
with instance.get_thrift_client() as client:
client.disableTracing()
return 0
@subcmd_mod.subcmd("trace", "Commands for managing eden tracing")
# pyre-fixme[13]: Attribute `parser` is never initialized.
class TraceCmd(Subcmd):
parser: argparse.ArgumentParser
def setup_parser(self, parser: argparse.ArgumentParser) -> None:
self.parser = parser
self.add_subcommands(parser, trace_cmd.commands)
def run(self, args: argparse.Namespace) -> int:
self.parser.print_help()
return 0