2 * Copyright (C) 2013 - David Goulet <dgoulet@efficios.com>
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License, version 2 only, as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * You should have received a copy of the GNU General Public License along with
14 * this program; if not, write to the Free Software Foundation, Inc., 51
15 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #include <common/common.h>
25 #include <common/hashtable/hashtable.h>
26 #include <common/uri.h>
30 struct consumer_output
;
32 struct snapshot_output
{
36 struct consumer_output
*consumer
;
37 int kernel_sockets_copied
;
38 int ust_sockets_copied
;
40 * Contains the string with "<date>-<time>" for when the snapshot command
41 * is triggered. This is to make sure every streams will use the same time
42 * for the directory output.
47 struct lttng_ht_node_ulong node
;
51 unsigned long next_output_id
;
53 struct lttng_ht
*output_ht
;
56 /* Snapshot object. */
57 struct snapshot
*snapshot_alloc(void);
58 void snapshot_destroy(struct snapshot
*obj
);
59 int snapshot_init(struct snapshot
*obj
);
60 void snapshot_delete_output(struct snapshot
*snapshot
,
61 struct snapshot_output
*output
);
62 void snapshot_add_output(struct snapshot
*snapshot
,
63 struct snapshot_output
*output
);
65 /* Snapshot output object. */
66 struct snapshot_output
*snapshot_output_alloc(void);
67 void snapshot_output_destroy(struct snapshot_output
*obj
);
68 int snapshot_output_init(uint64_t max_size
, const char *name
,
69 const char *ctrl_url
, const char *data_url
,
70 struct consumer_output
*consumer
, struct snapshot_output
*output
,
71 struct snapshot
*snapshot
);
72 int snapshot_output_init_with_uri(uint64_t max_size
, const char *name
,
73 struct lttng_uri
*uris
, size_t nb_uri
,
74 struct consumer_output
*consumer
, struct snapshot_output
*output
,
75 struct snapshot
*snapshot
);
76 struct snapshot_output
*snapshot_find_output_by_id(uint32_t id
,
77 struct snapshot
*snapshot
);
78 struct snapshot_output
*snapshot_find_output_by_name(const char *name
,
79 struct snapshot
*snapshot
);
81 #endif /* SNAPSHOT_H */
This page took 0.031641 seconds and 5 git commands to generate.