mirror of
https://github.com/mii443/prometheus-android-exporter.git
synced 2025-08-22 15:15:35 +00:00
add two more metrics
This commit is contained in:
4
client/.idea/deploymentTargetDropDown.xml
generated
4
client/.idea/deploymentTargetDropDown.xml
generated
@ -7,11 +7,11 @@
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="$USER_HOME$/.android/avd/new4_device.avd" />
|
||||
<value value="$USER_HOME$/.var/app/com.google.AndroidStudio/config/.android/avd/new_device.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</targetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-07-29T19:05:07.449016617Z" />
|
||||
<timeTargetWasSelectedWithDropDown value="2023-07-30T08:06:01.829441584Z" />
|
||||
</component>
|
||||
</project>
|
@ -91,11 +91,39 @@ class AndroidCustomExporter(private val metricEngine: MetricsEngine) : Collector
|
||||
}
|
||||
|
||||
private fun collectHasWiFiConnection(mfs : MutableList<MetricFamilySamples>){
|
||||
metricEngine.getHasWiFiConnected()?.let {
|
||||
val result : Double = if (it) {
|
||||
1.0
|
||||
}else{
|
||||
0.0
|
||||
}
|
||||
|
||||
val gauge = GaugeMetricFamily(
|
||||
"android_wifi_connected",
|
||||
"Whether WiFi is connected",
|
||||
listOf()
|
||||
)
|
||||
gauge.addMetric(listOf(), result)
|
||||
mfs.add(gauge)
|
||||
}
|
||||
}
|
||||
|
||||
private fun collectHasCellularConnection(mfs : MutableList<MetricFamilySamples>){
|
||||
metricEngine.getHasCellularConnected()?.let {
|
||||
val result : Double = if (it) {
|
||||
1.0
|
||||
}else{
|
||||
0.0
|
||||
}
|
||||
|
||||
val gauge = GaugeMetricFamily(
|
||||
"android_cellular_network_connected",
|
||||
"Whether cellular network is connected",
|
||||
listOf()
|
||||
)
|
||||
gauge.addMetric(listOf(), result)
|
||||
mfs.add(gauge)
|
||||
}
|
||||
}
|
||||
|
||||
private fun collectAndroidInfo(mfs : MutableList<MetricFamilySamples>){
|
||||
|
@ -9,6 +9,8 @@ import android.hardware.Sensor
|
||||
import android.hardware.SensorManager
|
||||
import android.hardware.SensorEvent
|
||||
import android.hardware.SensorEventListener
|
||||
import android.net.ConnectivityManager
|
||||
import android.net.NetworkCapabilities
|
||||
import android.os.BatteryManager
|
||||
import android.os.Build
|
||||
import android.os.CpuUsageInfo
|
||||
@ -240,11 +242,35 @@ class MetricsEngine(private val context: Context) : SensorEventListener {
|
||||
return Build.MANUFACTURER
|
||||
}
|
||||
|
||||
fun getHasCellularConnected() : Boolean {
|
||||
TODO()
|
||||
fun getHasCellularConnected() : Boolean? {
|
||||
val connectivityManager = context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?
|
||||
|
||||
return if (connectivityManager != null){
|
||||
|
||||
val network = connectivityManager.activeNetwork
|
||||
val cap = connectivityManager.getNetworkCapabilities(network)
|
||||
|
||||
cap != null && cap.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
|
||||
|
||||
}else{
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
fun getHasWiFiConnected() : Boolean {
|
||||
TODO()
|
||||
fun getHasWiFiConnected() : Boolean? {
|
||||
val connectivityManager = context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?
|
||||
|
||||
return if (connectivityManager != null){
|
||||
|
||||
val network = connectivityManager.activeNetwork
|
||||
val cap = connectivityManager.getNetworkCapabilities(network)
|
||||
|
||||
cap != null && (cap.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) || cap.hasTransport(NetworkCapabilities.TRANSPORT_WIFI_AWARE))
|
||||
|
||||
}else{
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user