Skip to content

Commit 3c24a92

Browse files
committed
Performance Improvements
Made improvements to the various metric submission methods in order to improve memory management
1 parent 99d418e commit 3c24a92

File tree

2 files changed

+34
-37
lines changed

2 files changed

+34
-37
lines changed

DataDogStatsD.cpp

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,55 +63,55 @@ DataDogStatsD::DataDogStatsD(string api_key, string app_key, string host, unsign
6363
this->port = port;
6464
}
6565

66-
void DataDogStatsD::increment(std::string stats)
66+
void DataDogStatsD::increment(const std::string& stats)
6767
{
6868
std::vector<std::string> statsArray;
6969
statsArray.push_back(stats);
7070
this->updateStats(statsArray, 1, 1.0, "");
7171
}
7272

73-
void DataDogStatsD::increment(std::string stats, std::string tags)
73+
void DataDogStatsD::increment(const std::string& stats, const std::string& tags)
7474
{
7575
std::vector<std::string> statsArray;
7676
statsArray.push_back(stats);
7777
this->updateStats(statsArray, 1, 1.0, tags);
7878
}
7979

80-
void DataDogStatsD::increment(std::vector<std::string> stats)
80+
void DataDogStatsD::increment(const std::vector<std::string>& stats)
8181
{
8282
this->updateStats(stats, 1, 1.0, "");
8383
}
8484

85-
void DataDogStatsD::increment(std::vector<std::string> stats, std::string tags)
85+
void DataDogStatsD::increment(const std::vector<std::string>& stats, const std::string& tags)
8686
{
8787
this->updateStats(stats, 1, 1.0, tags);
8888
}
8989

90-
void DataDogStatsD::decrement(std::string stats)
90+
void DataDogStatsD::decrement(const std::string& stats)
9191
{
9292
std::vector<std::string> statsArray;
9393
statsArray.push_back(stats);
9494
this->updateStats(statsArray, -1, 1.0, "");
9595
}
9696

97-
void DataDogStatsD::decrement(std::string stats, std::string tags)
97+
void DataDogStatsD::decrement(const std::string& stats, const std::string& tags)
9898
{
9999
std::vector<std::string> statsArray;
100100
statsArray.push_back(stats);
101101
this->updateStats(statsArray, -1, 1.0, tags);
102102
}
103103

104-
void DataDogStatsD::decrement(std::vector<std::string> stats)
104+
void DataDogStatsD::decrement(const std::vector<std::string>& stats)
105105
{
106106
this->updateStats(stats, -1, 1.0, "");
107107
}
108108

109-
void DataDogStatsD::decrement(std::vector<std::string> stats, string tags)
109+
void DataDogStatsD::decrement(const std::vector<std::string>& stats, const string& tags)
110110
{
111111
this->updateStats(stats, -1, 1.0, tags);
112112
}
113113

114-
void DataDogStatsD::timing(std::string stats, float timeInSeconds)
114+
void DataDogStatsD::timing(const std::string& stats, float timeInSeconds)
115115
{
116116
stringstream valueStream;
117117
valueStream << (timeInSeconds) << "|ms";
@@ -120,7 +120,7 @@ void DataDogStatsD::timing(std::string stats, float timeInSeconds)
120120
this->send(data, 1.0);
121121
}
122122

123-
void DataDogStatsD::timing(std::string stats, float timeInSeconds, std::string tags)
123+
void DataDogStatsD::timing(const std::string& stats, float timeInSeconds, const std::string& tags)
124124
{
125125
stringstream valueStream;
126126
valueStream << (timeInSeconds) << "|ms";
@@ -131,7 +131,7 @@ void DataDogStatsD::timing(std::string stats, float timeInSeconds, std::string t
131131

132132

133133

134-
void DataDogStatsD::gauge(std::string stats, float value)
134+
void DataDogStatsD::gauge(const std::string& stats, float value)
135135
{
136136
stringstream valueStream;
137137
valueStream << (value) << "|g";
@@ -141,7 +141,7 @@ void DataDogStatsD::gauge(std::string stats, float value)
141141
this->send(data, 1.0);
142142
}
143143

144-
void DataDogStatsD::gauge(std::string stats, float value, std::string tags)
144+
void DataDogStatsD::gauge(const std::string&stats, float value, const std::string& tags)
145145
{
146146
stringstream valueStream;
147147
valueStream << (value) << "|g";
@@ -151,7 +151,7 @@ void DataDogStatsD::gauge(std::string stats, float value, std::string tags)
151151
this->send(data, 1.0, tags);
152152
}
153153

154-
void DataDogStatsD::histogram(std::string stats, float value)
154+
void DataDogStatsD::histogram(const std::string& stats, float value)
155155
{
156156
stringstream valueStream;
157157
valueStream << (value) << "|h";
@@ -161,7 +161,7 @@ void DataDogStatsD::histogram(std::string stats, float value)
161161
this->send(data, 1.0);
162162
}
163163

164-
void DataDogStatsD::histogram(std::string stats, float value, std::string tags)
164+
void DataDogStatsD::histogram(const std::string& stats, float value, const std::string& tags)
165165
{
166166
stringstream valueStream;
167167
valueStream << (value) << "|h";
@@ -171,7 +171,7 @@ void DataDogStatsD::histogram(std::string stats, float value, std::string tags)
171171
this->send(data, 1.0, tags);
172172
}
173173

174-
void DataDogStatsD::set(std::string stats, float value)
174+
void DataDogStatsD::set(const std::string& stats, float value)
175175
{
176176
stringstream valueStream;
177177
valueStream << (value) << "|s";
@@ -181,7 +181,7 @@ void DataDogStatsD::set(std::string stats, float value)
181181
this->send(data, 1.0);
182182
}
183183

184-
void DataDogStatsD::set(std::string stats, float value, std::string tags)
184+
void DataDogStatsD::set(const std::string& stats, float value, const std::string& tags)
185185
{
186186
stringstream valueStream;
187187
valueStream << (value) << "|s";
@@ -191,7 +191,7 @@ void DataDogStatsD::set(std::string stats, float value, std::string tags)
191191
this->send(data, 1.0, tags);
192192
}
193193

194-
void DataDogStatsD::updateStats(std::vector<std::string> stats, int delta, float sampleRate, string tags)
194+
void DataDogStatsD::updateStats(std::vector<std::string> stats, int delta, float sampleRate, const string& tags)
195195
{
196196
std::map<string, string> data;
197197

@@ -250,7 +250,6 @@ void DataDogStatsD::event(DDEvent& ddEvent)
250250
{
251251
//cout << ddEvent.returnDDEventUDPString() << endl;
252252
string udp_message = ddEvent.returnDDEventUDPString();
253-
cout << udp_message << endl;
254253
this->flush(udp_message);
255254
}
256255

@@ -465,8 +464,6 @@ void DataDogStatsD::flush(string& udp_message)
465464

466465

467466
close(udp_socket);
468-
#else
469-
cout << "Sending " << udp_message << endl;
470467
#endif
471468
}
472469

DataDogStatsD.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,27 +40,27 @@ class DataDogStatsD
4040
DataDogStatsD(std::string api_key, std::string app_key, unsigned int port);
4141
DataDogStatsD(std::string api_key, std::string app_key, std::string host, unsigned int port);
4242

43-
void increment(std::string stats);
44-
void increment(std::string stats, std::string tags);
45-
void increment(std::vector<std::string> stats);
46-
void increment(std::vector<std::string> stats, std::string tags);
43+
void increment(const std::string& stats);
44+
void increment(const std::string& stats, const std::string& tags);
45+
void increment(const std::vector<std::string>& stats);
46+
void increment(const std::vector<std::string>& stats, const std::string& tags);
4747

48-
void decrement(std::string stats);
49-
void decrement(std::string stats, std::string tags);
50-
void decrement(std::vector<std::string> stats);
51-
void decrement(std::vector<std::string> stats, std::string tags);
48+
void decrement(const std::string& stats);
49+
void decrement(const std::string& stats, const std::string& tags);
50+
void decrement(const std::vector<std::string>& stats);
51+
void decrement(const std::vector<std::string>& stats, const std::string& tags);
5252

53-
void timing(std::string stats, float timeInSeconds);
54-
void timing(std::string stats, float timeInSeconds, std::string tags);
53+
void timing(const std::string& stats, float timeInSeconds);
54+
void timing(const std::string& stats, float timeInSeconds, const std::string& tags);
5555

56-
void gauge(std::string stats, float value);
57-
void gauge(std::string stats, float value, std::string tags);
56+
void gauge(const std::string& stats, float value);
57+
void gauge(const std::string& stats, float value, const std::string& tags);
5858

59-
void histogram(std::string stats, float value);
60-
void histogram(std::string stats, float value, std::string tags);
59+
void histogram(const std::string& stats, float value);
60+
void histogram(const std::string& stats, float value, const std::string& tags);
6161

62-
void set(std::string stats, float value);
63-
void set(std::string stats, float value, std::string tags);
62+
void set(const std::string& stats, float value);
63+
void set(const std::string& stats, float value, const std::string& tags);
6464

6565
std::string returnSerializedTagsString(std::string tags);
6666
std::string returnSerializedTagsString(std::vector<std::string> tags);
@@ -78,7 +78,7 @@ class DataDogStatsD
7878
std::string app_key;
7979
std::string host;
8080
unsigned int port;
81-
void updateStats(std::vector<std::string> stats, int delta = 1, float sampleRate = 1.0, std::string tags = "");
81+
void updateStats(const std::vector<std::string> stats, int delta = 1, float sampleRate = 1.0, const std::string& tags = "");
8282
void send(std::map<std::string, std::string> data, float sampleRate = 1.0, std::string tags = "");
8383
void flush(std::string& udp_message);
8484
void sendDDEventinthread(DDEvent ddEvent, void(*eventCallback)(bool result, std::string error));

0 commit comments

Comments
 (0)