public void Log(LogLevel level, string message, Dictionary <string, string> fields) { var nativeMapPtr = Convertions.DictionaryToNativeMapMem(fields); CBridge.ctx_log(TaskId, (int)level, message, nativeMapPtr); Memory.FreeNativeMap(nativeMapPtr); }
public void AlwaysApply(string ns, params Modifier[] modifiers) { var nativeModifiers = ToNativeModifiers(modifiers); var errPtr = CBridge.ctx_always_apply(TaskId, ns, nativeModifiers); Memory.FreeNativeModifiers(nativeModifiers); Exceptions.ThrowExceptionIfError(errPtr); }
public string RawConfig() { var ptr = CBridge.ctx_raw_config(TaskId); if (ptr != IntPtr.Zero) { return(Marshal.PtrToStringAnsi(ptr)); } return(""); }
public string GetConfigValue(string configKey) { var ptr = CBridge.ctx_config_value(TaskId, configKey); if (ptr != IntPtr.Zero) { return(Marshal.PtrToStringAnsi(ptr)); } return(""); }
private void AddMetricWithNativeValue(string ns, NativeValue nativeValue, params Modifier[] modifiers) { var nativeModifiers = ToNativeModifiers(modifiers); var errPtr = CBridge.ctx_add_metric(TaskId, ns, nativeValue, nativeModifiers); Memory.FreeNativeModifiers(nativeModifiers); if (nativeValue.vtype == (int)ValueType.TypeCString) { Marshal.FreeHGlobal(nativeValue.v_cstring); } Exceptions.ThrowExceptionIfError(errPtr); }
public bool ShouldProcess(string ns) { return(CBridge.ctx_should_process(TaskId, ns) > 0); }
public void DismissAllModifiers() { CBridge.ctx_dismiss_all_modifiers(TaskId); }
public IList <string> RequestedMetrics() { return(Convertions.NativeStringArrayToList(CBridge.ctx_requested_metrics(TaskId))); }
public void AddWarning(string message) { CBridge.ctx_add_warning(TaskId, message); }
public IList <string> ConfigKeys() { return(Convertions.NativeStringArrayToList(CBridge.ctx_config_keys(TaskId))); }