sapling/eden/fs/cli/trace.py
Chad Austin fdc83eaa75 rename EdenInstance.get_thrift_client to get_thrift_client_legacy
Summary:
Rather than switch all of Eden at once to the thrift-py3 client,
rename get_thrift_client to get_thrift_client_legacy so uses of the
new client can be introduced piecemeal.

(I did try migrating everything at once but it's been quite painful.)

Reviewed By: fanzeyi

Differential Revision: D22423399

fbshipit-source-id: 9e6d938b90fff9fc3266ba20bc77e880e7f5b1aa
2020-09-17 13:25:00 -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_legacy() 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_legacy() 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