Skip to content

Log resource limit warnings before hard errors #240

@kyamagu

Description

@kyamagu

Add warning logs when approaching limits (e.g., 80% of limit):

logger.warning(
    f"File size {file_size} is 85% of limit {max_limit}. "
    f"Consider increasing limit if conversion fails."
)

Benefits

  • Proactive warning before hitting limits
  • Helps with capacity planning
  • Better debugging for borderline cases

Implementation Ideas

Add warning checks before each limit validation:

# In svg_document.py
if resource_limits.is_file_size_limited():
    file_size = os.path.getsize(input_path)
    threshold = resource_limits.max_file_size * 0.8
    
    if file_size > threshold:
        logger.warning(
            f"File size {file_size} bytes is {file_size/resource_limits.max_file_size:.0%} "
            f"of limit {resource_limits.max_file_size} bytes."
        )
    
    if file_size > resource_limits.max_file_size:
        raise ValueError(...)

Warning Thresholds

  • File size: 80% of limit
  • Layer depth: 80% of limit
  • Image dimensions: 90% of limit (closer to hard limit)
  • Timeout: Warning at 50% elapsed, 75% elapsed

Considerations

  • Warnings should respect --loglevel setting
  • Should not be too noisy (only warn once per limit type)
  • Consider structured logging for machine parsing

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions