Skip to content

Commit

Permalink
metrics (#104)
Browse files Browse the repository at this point in the history
* metrics

* lint

* library error try catch

* lint
  • Loading branch information
horheynm authored Aug 23, 2024
1 parent 4874d63 commit c42950f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
27 changes: 12 additions & 15 deletions src/llmcompressor/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,23 +64,19 @@ def configure_logger(config: Optional[LoggerConfig] = None):
:param config: The configuration for the logger to use.
:type config: LoggerConfig
"""
logger_config = config or LoggerConfig()

# env vars get priority
if (disabled := os.getenv("LLM_COMPRESSOR_LOG_DISABLED")) is not None:
disabled = disabled.lower()
logger_config.disabled = disabled.lower()
if (clear_loggers := os.getenv("LLM_COMPRESSOR_CLEAR_LOGGERS")) is not None:
clear_loggers = clear_loggers.lower()
logger_config.clear_loggers = clear_loggers.lower()
if (console_log_level := os.getenv("LLM_COMPRESSOR_LOG_LEVEL")) is not None:
console_log_level = console_log_level.upper()
log_file = os.getenv("LLM_COMPRESSOR_LOG_FILE")
log_file_level = os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL")

# override from environment variables, if set
logger_config = LoggerConfig(
disabled=disabled or LoggerConfig.disabled,
clear_loggers=clear_loggers or LoggerConfig.clear_loggers,
console_log_level=console_log_level or LoggerConfig.console_log_level,
log_file=log_file or LoggerConfig.log_file,
log_file_level=log_file_level or LoggerConfig.log_file_level,
)
logger_config.console_log_level = console_log_level.upper()
if (log_file := os.getenv("LLM_COMPRESSOR_LOG_FILE")) is not None:
logger_config.log_file = log_file
if (log_file_level := os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL")) is not None:
logger_config.log_file_level = log_file_level

if logger_config.disabled:
logger.disable("llmcompressor")
Expand All @@ -105,8 +101,9 @@ def configure_logger(config: Optional[LoggerConfig] = None):
# log as json to the file for easier parsing
logger.add(log_file, level=log_file_level.upper(), serialize=True)

if logger_config.metrics_disabled:
if logger_config.metrics_disabled or "METRIC" in logger._core.levels.keys():
return

# initialize metric logger on loguru
_initialize_metric_logging()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ def compress(
(
f"GPU {i} | usage: {perc:.2f}%"
f" | total memory: {total_memory} GB"
)
),
)

logger.log(
Expand Down
7 changes: 6 additions & 1 deletion src/llmcompressor/utils/metric_logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,13 @@
def get_GPU_memory_usage() -> List[Tuple]:
try:
import pynvml
from pynvml import NVMLError

pynvml.nvmlInit()
try:
pynvml.nvmlInit()
except NVMLError as _err:
logger.warning(f"Pynml library error:\n {_err}")
return []

device_count = pynvml.nvmlDeviceGetCount()
usage = [] # [(percentage, total_memory_MB)]
Expand Down

0 comments on commit c42950f

Please sign in to comment.