Commit Graph
3717 Commits
Author SHA1 Message Date
Robert Speicher 5a1706791e Update broadcast_message helper
Now it returns the fully-formatted message so we can be consistent about
how it's shown.
2016-01-13 11:34:58 -05:00
Robert Speicher 8086b2bd2e Simplify BroadcastMessage factory
Also make the feature tests less brittle.
2016-01-13 11:34:58 -05:00
Robert Speicher 6ae39c2cd1 Remove alert_type attribute from BroadcastMessage 2016-01-13 11:34:57 -05:00
Yorick Peterse b7f49aa0f0 Merge branch 'configure-randomize-metrics-sample-interval' into 'master'
See merge request !2406
2016-01-13 14:54:45 +00:00
Yorick Peterse 057eb824b5 Randomize metrics sample intervals
Sampling data at a fixed interval means we can potentially miss data
from events occurring between sampling intervals. For example, say we
sample data every 15 seconds but Unicorn workers get killed after 10
seconds. In this particular case it's possible to miss interesting data
as the sampler will never get to actually submitting data.

To work around this (at least for the most part) the sampling interval
is randomized as following:

1. Take the user specified sampling interval (15 seconds by default)
2. Divide it by 2 (referred to as "half" below)
3. Generate a range (using a step of 0.1) from -"half" to "half"
4. Every time the sampler goes to sleep we'll grab the user provided
   interval and add a randomly chosen "adjustment" to it while making
   sure we don't pick the same value twice in a row.

For a specified timeout of 15 this means the actual intervals can be
anywhere between 7.5 and 22.5, but never can the same interval be used
twice in a row.

The rationale behind this change is that on dev.gitlab.org I'm sometimes
seeing certain Gitlab::Git/Rugged objects being retained, but only for a
few minutes every 24 hours. Knowing the code of Gitlab and how much
memory it uses/leaks I suspect we're missing data due to workers getting
terminated before the sampler can write its data to InfluxDB.
2016-01-13 12:57:46 +01:00
Dmitriy Zaporozhets 73e0754070 Merge branch 'rs-block-user-before-removal' into 'master'
Block the reported user before destroying the record

This is intended to prevent the user from creating new objects while the
transaction that removes them is being run, resulting in objects with
nil authors which can then not be edited.

See https://gitlab.com/gitlab-org/gitlab-ce/issues/7117

See merge request !2402
2016-01-13 09:14:30 +00:00
Dmitriy Zaporozhets 9552db2fa7 Merge branch 'rs-time_ago_with_tooltip-conversion' into 'master'
Make sure time_ago_with_tooltip is using a Time object

Somehow this test existed on EE but not in CE, so it started failing
after a bad CE-to-EE merge.

See merge request !2398
2016-01-13 09:13:51 +00:00
Dmitriy Zaporozhets 96351a1e9f Merge branch 'comment-and-close-button-does-not-submit-comment' into 'master'
Comment and close button does not submit comment



See merge request !2399
2016-01-13 09:13:17 +00:00
Dmitriy Zaporozhets 32a5b741c2 Merge branch 'add_username_to_user_system_hooks' of https://github.com/tbeadle/gitlabhq
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-13 10:12:30 +01:00
Dmitriy Zaporozhets 678ee247ee Merge pull request #9952 from tbeadle/user_id_in_member_system_hook
Include the user_id in user_*_team system hooks.
2016-01-13 10:09:37 +01:00
Robert Speicher da40274fdc Block the reported user before destroying the record
This is intended to prevent the user from creating new objects while the
transaction that removes them is being run, resulting in objects with
nil authors which can then not be edited.

See https://gitlab.com/gitlab-org/gitlab-ce/issues/7117
2016-01-12 20:59:55 -05:00
Jacob Schatz 63363e47f4 reverting more MR ajax files, will appear in different commit 2016-01-12 14:55:54 -05:00
Robert Speicher 100cdce21e Make sure time_ago_with_tooltip is using a Time object
Somehow this test existed on EE but not in CE, so it started failing
after a bad CE-to-EE merge.
2016-01-12 13:13:16 -05:00
Yorick Peterse 83ad5fa5cb Merge branch 'remove-application-frames-from-views' into 'master'
See merge request !2392
2016-01-12 15:44:57 +00:00
Yorick Peterse 355c341fe7 Stop tracking call stacks for instrumented views
Where a vew is called from doesn't matter as much. We already know what
action they belong to and this is more than enough information. By
removing the file/line number from the list of tags we should also be
able to reduce the number of series stored in InfluxDB.
2016-01-12 15:41:22 +01:00
Yorick Peterse 5679ee0120 Track memory allocated during a transaction
This gives a very rough estimate of how much memory is allocated during
a transaction. This only works reliably when using a single-threaded
application server and a Ruby implementation with a GIL as otherwise
memory allocated by other threads might skew the statistics. Sadly
there's no way around this as Ruby doesn't provide a reliable way of
gathering accurate object sizes upon allocation on a per-thread basis.
2016-01-12 14:59:30 +01:00
Jacob Schatz f2edb26a1e fixes conflicts 2016-01-11 18:06:15 -05:00
Robert Speicher 6fc1aba4a3 Merge branch 'fix/ci-linter-sequence-validations' into 'master'
Allow subsequent validations in CI Linter

Closes #5851

See merge request !2368
2016-01-11 19:09:09 +00:00
Yorick Peterse d65e7aa9c8 Merge branch 'add-action-to-all-metrics' into 'master'
See merge request !2370
2016-01-11 17:04:34 +00:00
Yorick Peterse 35b501f30a Tag all transaction metrics with an "action" tag
Without this it's impossible to find out what methods/views/queries are
executed by a certain controller or Sidekiq worker. While this will
increase the total number of series it should stay within reasonable
limits due to the amount of "actions" being small enough.
2016-01-11 16:51:01 +01:00
Dmitriy Zaporozhets 5500f9159f Merge branch 'group-issues-sorting' into 'master'
Improve performance of getting issues on group level

For testing I used the URL http://localhost:3000/groups/gitlab-org/issues?milestone_title=8.1. Prior to these changes said URL would take about 10-12 seconds to load. By applying these changes the loading time has been reduced to roughly 2-3 seconds. 

There's still some stuff going on in some views that I have to look at, resolving those changes might reduce the loading time a bit more. I also still have to check if I didn't break too many tests.

Fixes: gitlab-org/gitlab-ce#3707 gitlab-org/gitlab-ce#4071 

See merge request !2318
2016-01-11 15:28:41 +00:00
Douwe Maan 66dee188d8 Merge branch 'rs-zenmode-cleanup' into 'master'
Refactor ZenMode

- No longer depends on the "hidden checkbox".
- No longer depends on manually storing/restoring the scroll position.
  Instead, we take advantage of jquery.scrollTo.
- Event-based.
- Simplifies the state-based styling.

See merge request !2354
2016-01-11 13:50:30 +00:00
Grzegorz Bizon cdd3a80682 Allow subsequent validations in CI Linter
Closes #5851
2016-01-11 13:37:31 +01:00
Stan Hu 4b4fdf58c7 Fix Error 500 when visiting build page of project with nil runners_token
Properly ensure that the token exists and add defensively check for a
non-nil value.

Closes #4294
2016-01-10 18:12:47 -08:00
Robert Speicher 89ca4f04f6 Refactor ZenMode
- No longer depends on the "hidden checkbox".
- No longer depends on manually storing/restoring the scroll position.
  Instead, we take advantage of jquery.scrollTo.
- Event-based.
- Simplifies the state-based styling.
2016-01-08 23:36:09 -05:00
Robert Speicher af68897acd Merge branch 'api-project-upload' into 'master'
Add API project upload endpoint

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/4317

See merge request !2329
2016-01-08 20:29:43 +00:00
Stan Hu 7403df6ca7 Merge branch 'suppress-allow-failure-builds' into 'master'
Suppress e-mails on failed builds if allow_failure is set

Every time I push to GitLab, I get > 2 emails saying a spec failed when I don't care about the benchmarks and others that have `allow_failure` set to `true`.

@ayufan mentioned creating a summary e-mail to prevent getting one e-mail per build, but the latter might actually be desirable. For example, I do want to know if Rubocop errors fail right away.

See merge request !2178
2016-01-08 17:31:35 +00:00
Douwe Maan 0614793b38 DRY up upload and download services 2016-01-08 17:38:53 +01:00
Douwe Maan 8429f6f409 Merge branch 'rs-single-item-task-list-spec' into 'master'
Add spec for single-item task lists

Follow-up to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2330

See merge request !2340
2016-01-08 16:33:57 +00:00
Drew Blessing c1e974ed88 Merge branch 'issue_3076' into 'master'
Fix problem with projects ending with .keys #3076

Closes #3076

Move route `:username.keys` below project's routes. This allow project's to handle names ending with `.keys`

See merge request !1883
2016-01-08 15:52:05 +00:00
Dmitriy Zaporozhets b64ec38aae Merge branch 'api-delete-tag' into 'master'
Delete tag via API

### What does this MR do?

Implements deleting a tag via the API.

### Are there points in the code the reviewer needs to double check?

On success, it returns the name of the deleted tag. This is similar to the [delete branch API](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/api/branches.rb#L111).

###  What are the relevant issue numbers / Feature requests?

* This MR closes #1575 
* Closes http://feedback.gitlab.com/forums/176466-general/suggestions/6599203-delete-tags-through-the-api

@stanhu Could you do a review?

See merge request !1862
2016-01-08 13:47:42 +00:00
Dmitriy Zaporozhets 08213ed4f5 Merge branch 'accept-2xx-status-codes-for-webhooks' into 'master'
Accept 2xx status codes for successful Web hook triggers

Closes https://github.com/gitlabhq/gitlabhq/issues/9956

See merge request !2332
2016-01-08 10:56:39 +00:00
Robert Schilling 4c90ed52fe Delete tag via API 2016-01-08 10:10:04 +01:00
Robert Speicher fa36749bce Add two custom Date/Time conversion formats 2016-01-07 20:01:08 -05:00
Robert Speicher 65308a9c15 Add spec for single-item task lists 2016-01-07 15:25:39 -05:00
Robert Speicher 90510f0037 Merge branch 'milestone-ref' into 'master'
Link to milestone in "Milestone changed" system note

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/4141

See merge request !2203
2016-01-07 19:22:43 +00:00
Stan Hu 69209612e1 Suppress e-mails on failed builds if allow_failure is set
Every time I push to GitLab, I get > 2 emails saying a spec failed when
I don't care about benchmarks and other specs that have `allow_failure` set to `true`.
2016-01-07 10:45:39 -08:00
Dmitriy Zaporozhets 3c93e588e9 Merge branch 'annotate-models-20160105' into 'master'
Annotate models

Time to refresh the comments via `annotate`.


See merge request !2311
2016-01-07 18:22:32 +00:00
Tommy Beadle 1f64332e11 Include user_username in user_(add_to/remove_from)_(project/group) system hooks. 2016-01-07 12:54:54 -05:00
Tommy Beadle dada25d447 Include the username in user_create/destroy system hooks. 2016-01-07 12:54:35 -05:00
Jacob Schatz 8f6ca70055 fixes ajax issue with issue spec 2016-01-07 12:27:01 -05:00
Douwe Maan 1e927d39b4 Update spec 2016-01-07 15:51:12 +01:00
Stan Hu 8386edafd1 Accept 2xx status codes for successful Web hook triggers
Closes https://github.com/gitlabhq/gitlabhq/issues/9956
2016-01-07 06:28:24 -08:00
Yorick Peterse 9b0c360bd5 Fixed issue sorting specs for ID changes
These specs assumed data was still sorted by timestamp, instead of by
ID.
2016-01-07 14:53:02 +01:00
Yorick Peterse 61561a9eeb Merge branch 'remove-more-influxdb-tags' into 'master'
See merge request !2328
2016-01-07 13:38:42 +00:00
Douwe Maan 1886d727f7 Add API project upload endpoint 2016-01-07 13:37:14 +01:00
Yorick Peterse 7b10cb6f0f Store request methods/URIs as values
Since filtering by these values is very rare (they're mostly just
displayed as-is) we don't need to waste any index space by saving them
as tags. By storing them as values we also greatly reduce the number of
series in InfluxDB.
2016-01-07 13:05:00 +01:00
Jacob Vosmaer 41b8a238ce Merge branch 'master' of github.com:gitlabhq/gitlabhq 2016-01-07 12:56:18 +01:00
Yorick Peterse 364b07cff0 Removed UUIDs from metrics transactions
While useful for finding out what methods/views belong to a transaction
this might result in too much data being stored in InfluxDB.
2016-01-07 12:44:15 +01:00
Douwe Maan 539b41929b Milestone reference is a Markdown link 2016-01-07 12:26:05 +01:00