This particular setup had 3 problems:
1. Storing SQL queries as tags is very inefficient as InfluxDB ends up
indexing every query (and they can get pretty large). Storing these
as values instead means we can't always display the SQL as easily.
2. We already instrument ActiveRecord query methods, thus we already
have timing information about database queries.
3. SQL obfuscation is difficult to get right and I'd rather not expose
sensitive data by accident.
Nokogiri produces inefficient XPath expressions when given CSS
expressions such as "a.gfm". Luckily these expressions can be optimized
quite easily while still achieving the same results.
In the two cases where this optimization is applied the run time has
been reduced from around 170 ms to around 15 ms.
Around 300 ms (in total) would be spent in these delegated methods due
to the extra stuff ActiveSupport adds to the compiled methods. Because
these delegations are so simple we can just manually define the methods,
saving around 275 milliseconds.
While it's useful to keep track of the different versions (Ruby, GitLab,
etc) doing so for every point wastes disk space and possibly also RAM
(which InfluxDB is all to eager to gobble up). If we want to see the
performance differences between different GitLab versions simply looking
at the performance since the last release date should suffice.
Ensure that is no pending migrations when using database on
Gitlab::CurrentSettings
This fixes the undefined method `recaptcha_enabled' for
#<ApplicationSetting:0x007f28552f8238> when running the build.
See merge request !2254
Added additional config environmental variables to help Debian packaging
* GITLAB_EMAIL_FROM
* GITLAB_EMAIL_DISPLAY_NAME
* GITLAB_EMAIL_REPLY_TO
This is a followup on https://gitlab.com/gitlab-org/gitlab-ce/issues/3717
See merge request !2251
**Why is this needed?**
Not really needed, but having code that is not used around is confusing, so lets
remove it
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
* origin/master:
Use lazy reference extractor to get issue's MRs
Banzai::XFilter -> Banzai::Filter::XFilter
Move Markdown/reference logic from Gitlab::Markdown to Banzai
Fix project transfer e-mail sending incorrect paths in e-mail notification
The introduction of ActiveJob and `deliver_now` in 7f214cee7 caused a race
condition where the mailer would be invoked before the project was committed
to the database, causing the transfer e-mail notification to show the old
path instead of the new one.
Closes#4670
See merge request !2235
The introduction of ActiveJob and `deliver_now` in 7f214cee7 caused a race
condition where the mailer would be invoked before the project was committed
to the database, causing the transfer e-mail notification to show the old
path instead of the new one.
Closes#4670
This removes the need for Sidekiq and any overhead/problems introduced
by TCP. There are a few things to take into account:
1. When writing data to InfluxDB you may still get an error if the
server becomes unavailable during the write. Because of this we're
catching all exceptions and just ignore them (for now).
2. Writing via UDP apparently requires the timestamp to be in
nanoseconds. Without this data either isn't written properly.
3. Due to the restrictions on UDP buffer sizes we're writing metrics one
by one, instead of writing all of them at once.
Downcased user or email search for avatar_icon.
GitLab users are defined with their mail address which is enforced to be lower case. When a commit is listed in the history whose committer mail address is not written in all lower case, the corresponding GitLab user won't be found because the search is case sensitive resp. the mail address to search for not downcased.
Closes#3780
See merge request !2234