Bug 1552511 - Use finalizers to destruct metrics (#77)

Bug 1552511 - Use finalizers to destruct metrics
This commit is contained in:
Jan-Erik Rediger 2019-05-20 15:47:16 +02:00 коммит произвёл GitHub
Родитель 4403aa97f4 12ae60784c
Коммит bb9ead2256
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -9,6 +9,7 @@ import com.sun.jna.StringArray
import mozilla.telemetry.glean.Glean
import mozilla.telemetry.glean.rust.LibGleanFFI
import mozilla.telemetry.glean.rust.toByte
import mozilla.telemetry.glean.rust.RustError
class BooleanMetricType(
disabled: Boolean,
@ -32,6 +33,13 @@ class BooleanMetricType(
disabled = disabled.toByte())
}
protected fun finalize() {
if (this.handle != 0L) {
val error = RustError.ByReference()
LibGleanFFI.INSTANCE.glean_destroy_boolean_metric(this.handle, error)
}
}
/**
* Set a boolean value.
*

Просмотреть файл

@ -9,6 +9,7 @@ import com.sun.jna.StringArray
import mozilla.telemetry.glean.Glean
import mozilla.telemetry.glean.rust.LibGleanFFI
import mozilla.telemetry.glean.rust.toByte
import mozilla.telemetry.glean.rust.RustError
import mozilla.telemetry.glean.Dispatchers
import mozilla.telemetry.glean.rust.toBoolean
@ -50,6 +51,13 @@ class CounterMetricType(
disabled = disabled.toByte())
}
protected fun finalize() {
if (this.handle != 0L) {
val error = RustError.ByReference()
LibGleanFFI.INSTANCE.glean_destroy_counter_metric(this.handle, error)
}
}
/**
* Add to counter value.
*

Просмотреть файл

@ -10,6 +10,7 @@ import mozilla.telemetry.glean.Glean
import mozilla.telemetry.glean.rust.LibGleanFFI
import mozilla.telemetry.glean.rust.toByte
import mozilla.telemetry.glean.rust.getAndConsumeRustString
import mozilla.telemetry.glean.rust.RustError
import mozilla.telemetry.glean.Dispatchers
import mozilla.telemetry.glean.rust.toBoolean
@ -50,6 +51,13 @@ class StringMetricType(
disabled = disabled.toByte())
}
protected fun finalize() {
if (this.handle != 0L) {
val error = RustError.ByReference()
LibGleanFFI.INSTANCE.glean_destroy_string_metric(this.handle, error)
}
}
/**
* Set a string value.
*