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
;
33 struct snapshot_output
{
36 /* Number of snapshot taken with that output. */
39 struct consumer_output
*consumer
;
40 int kernel_sockets_copied
;
41 int ust_sockets_copied
;
43 * Contains the string with "<date>-<time>" for when the snapshot command
44 * is triggered. This is to make sure every streams will use the same time
45 * for the directory output.
50 struct lttng_ht_node_ulong node
;
54 unsigned long next_output_id
;
57 * Number of snapshot taken for that object. This value is used with a
58 * temporary output of a snapshot record.
61 struct lttng_ht
*output_ht
;
64 /* Snapshot object. */
65 struct snapshot
*snapshot_alloc(void);
66 void snapshot_destroy(struct snapshot
*obj
);
67 int snapshot_init(struct snapshot
*obj
);
68 void snapshot_delete_output(struct snapshot
*snapshot
,
69 struct snapshot_output
*output
);
70 void snapshot_add_output(struct snapshot
*snapshot
,
71 struct snapshot_output
*output
);
73 /* Snapshot output object. */
74 struct snapshot_output
*snapshot_output_alloc(void);
75 void snapshot_output_destroy(struct snapshot_output
*obj
);
76 int snapshot_output_init(const struct ltt_session
*session
,
77 uint64_t max_size
, const char *name
,
78 const char *ctrl_url
, const char *data_url
,
79 struct consumer_output
*consumer
, struct snapshot_output
*output
,
80 struct snapshot
*snapshot
);
81 int snapshot_output_init_with_uri(const struct ltt_session
*session
,
82 uint64_t max_size
, const char *name
,
83 struct lttng_uri
*uris
, size_t nb_uri
,
84 struct consumer_output
*consumer
, struct snapshot_output
*output
,
85 struct snapshot
*snapshot
);
86 struct snapshot_output
*snapshot_find_output_by_id(uint32_t id
,
87 struct snapshot
*snapshot
);
88 struct snapshot_output
*snapshot_find_output_by_name(const char *name
,
89 struct snapshot
*snapshot
);
91 #endif /* SNAPSHOT_H */
This page took 0.031689 seconds and 4 git commands to generate.