X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=a3d51894498d3a66da505d58bd454f97c4a79f1b;hp=85d13c9029d9c7d887506b30d7af9286683637d2;hb=refs%2Fheads%2Fsow-2019-0002-rev1;hpb=1239a312e7e0e4c33948fdaf04e7637cb93c8b10 diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 85d13c902..a3d518944 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -3,20 +3,10 @@ * * Linux Trace Toolkit Control Library Header File * - * Copyright (C) 2011 - David Goulet + * Copyright (C) 2011 David Goulet * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_H @@ -34,28 +24,47 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #ifdef __cplusplus extern "C" { #endif -/* Health component for the health check function. */ -enum lttng_health_component { - LTTNG_HEALTH_CMD, - LTTNG_HEALTH_APP_MANAGE, - LTTNG_HEALTH_APP_REG, - LTTNG_HEALTH_KERNEL, - LTTNG_HEALTH_CONSUMER, - LTTNG_HEALTH_HT_CLEANUP, - LTTNG_HEALTH_APP_MANAGE_NOTIFY, - LTTNG_HEALTH_APP_REG_DISPATCH, - LTTNG_HEALTH_ALL, -}; - enum lttng_calibrate_type { LTTNG_CALIBRATE_FUNCTION = 0, }; +/* Machine interface output type */ +enum lttng_mi_output_type { + LTTNG_MI_XML = 1 /* XML output */ +}; + #define LTTNG_CALIBRATE_PADDING1 16 struct lttng_calibrate { enum lttng_calibrate_type type; @@ -119,11 +128,8 @@ extern int lttng_stop_tracing(const char *session_name); extern int lttng_stop_tracing_no_wait(const char *session_name); /* - * Calibrate LTTng overhead. - * - * The chan and handle params can not be NULL. - * - * Return 0 on success else a negative LTTng error code. + * Deprecated: As of LTTng 2.9, this function always returns + * -LTTNG_ERR_UND. */ extern int lttng_calibrate(struct lttng_handle *handle, struct lttng_calibrate *calibrate); @@ -156,43 +162,39 @@ extern int lttng_set_consumer_url(struct lttng_handle *handle, const char *control_url, const char *data_url); /* - * Enable the consumer for a session and domain. + * For a given session name, this call checks if the data is ready to be read + * or is still being extracted by the consumer(s) (pending) hence not ready to + * be used by any readers. + * + * Return 0 if there is _no_ data pending in the buffers thus having a + * guarantee that the data can be read safely. Else, return 1 if there is still + * traced data is pending. On error, a negative value is returned and readable + * by lttng_strerror(). */ -extern LTTNG_DEPRECATED("This call is now obsolete.") -int lttng_enable_consumer(struct lttng_handle *handle); +extern int lttng_data_pending(const char *session_name); /* - * Disable consumer for a session and domain. + * Deprecated, replaced by lttng_regenerate_metadata. */ -extern LTTNG_DEPRECATED("This call is now obsolete.") -int lttng_disable_consumer(struct lttng_handle *handle); +LTTNG_DEPRECATED() +extern int lttng_metadata_regenerate(const char *session_name); /* - * Check session daemon health for a specific component. - * - * Return 0 if health is OK or 1 if BAD. A returned value of -1 indicate that - * the control library was not able to connect to the session daemon health - * socket. - * - * Any other positive value is an lttcomm error which can be translate with - * lttng_strerror(). - * - * Please see lttng-health-check(3) man page for more information. + * Trigger the regeneration of the metadata for a session. + * The new metadata overwrite the previous one locally or remotely (through + * the lttng-relayd). Only kernel, per-uid and non-live sessions are supported. + * Return 0 on success, a negative LTTng error code on error. */ -extern LTTNG_DEPRECATED("This call is now obsolete.") -int lttng_health_check(enum lttng_health_component c); +extern int lttng_regenerate_metadata(const char *session_name); /* - * For a given session name, this call checks if the data is ready to be read - * or is still being extracted by the consumer(s) (pending) hence not ready to - * be used by any readers. + * Trigger the regeneration of the statedump for a session. The new statedump + * information is appended to the currently active trace, the session needs to + * be active. * - * Return 0 if there is _no_ data pending in the buffers thus having a - * guarantee that the data can be read safely. Else, return 1 if there is still - * traced data is pending. On error, a negative value is returned and readable - * by lttng_strerror(). + * Return 0 on success, a negative LTTng error code on error. */ -extern int lttng_data_pending(const char *session_name); +extern int lttng_regenerate_statedump(const char *session_name); #ifdef __cplusplus }