Skip to main content
Glama

get_wakelock_rate

Monitor background wakelock rates in Android apps to identify excessive battery usage and avoid Play Store penalties by analyzing stuck wakelock data from Android Vitals.

Instructions

Fetch stuck background wake lock rate from Android Vitals.

Returns daily stuckBackgroundWakelockRate and distinctUsers by version code. Excessive wakelock holding (>1 hour in background) may be penalized.

Args: package_name: Package name, e.g. com.example.myapp days: Past days to include (default 7, max 30). version_code: Optional version code filter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
package_nameYes
daysNo
version_codeNo

Implementation Reference

  • The implementation of the get_wakelock_rate tool handler, which queries Android Vitals via _reporting().query_wakelock_rate and formats the output.
    def get_wakelock_rate(
        package_name: str,
        days: int = 7,
        version_code: str = "",
    ) -> str:
        """Fetch stuck background wake lock rate from Android Vitals.
    
        Returns daily stuckBackgroundWakelockRate and distinctUsers by version
        code. Excessive wakelock holding (>1 hour in background) may be penalized.
    
        Args:
            package_name: Package name, e.g. com.example.myapp
            days: Past days to include (default 7, max 30).
            version_code: Optional version code filter.
        """
        days = max(1, min(days, 30))
        try:
            raw = _reporting().query_wakelock_rate(
                package_name=package_name,
                days=days,
                version_code=version_code or None,
            )
            rows = _parse_reporting_rows(raw.get("rows", []))
            if not rows:
                return json.dumps(
                    {
                        "packageName": package_name,
                        "message": (
                            "No stuck wakelock data available. Data may lag up to 2 days "
                            "or the app has no wakelock violations in this period."
                        ),
                        "rows": [],
                    },
                    indent=2,
                )
            return json.dumps(
                {
                    "packageName": package_name,
                    "periodDays": days,
                    "totalRows": len(rows),
                    "rows": rows,
                },
                indent=2,
            )
        except Exception as exc:
            return json.dumps({"success": False, "error": str(exc)}, indent=2)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgiMaulana/GooglePlayConsoleMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server